Tenxơ
Tensor là ma trận N chiều :
- Vô hướng là tensor 0 chiều
- Vector là tensor 1 chiều
- Ma trận là một tenxơ 2 chiều
Tensor là sự khái quát hóa của Vector và Ma trận lên các chiều cao hơn.
Vô hướng | (Các) vectơ | ||||||||||||||||||||||||||
1 |
| ||||||||||||||||||||||||||
Ma trận | Tenxơ | ||||||||||||||||||||||||||
|
|
Xếp hạng tenxơ
Số hướng mà một tenxơ có thể có trong không gian N chiều được gọi là Hạng của tenxơ.
Cấp bậc được ký hiệu là R.
Vô hướng là một số duy nhất.
- Nó có 0 trục
- Nó có thứ hạng là 0
- Nó là Tensor 0 chiều
Vector là một dãy số.
- Nó có 1 trục
- Nó có hạng 1
- Nó là Tensor 1 chiều
Ma trận là một mảng 2 chiều.
- Nó có 2 trục
- Nó có hạng 2
- Nó là Tensor 2 chiều
Tenxơ thực
Về mặt kỹ thuật, tất cả những cái trên đều là tensor, nhưng khi nói đến tensor, chúng ta thường nói đến ma trận có kích thước lớn hơn 2 ( R > 2 ).
Đại số tuyến tính trong JavaScript
Trong đại số tuyến tính, đối tượng toán học đơn giản nhất là Scalar :
const scalar = 1;
Một đối tượng toán học đơn giản khác là Array :
const array = [ 1, 2, 3 ];
Ma trận là mảng 2 chiều :
const matrix = [ [1,2],[3,4],[5,6] ];
Các vectơ có thể được viết dưới dạng Ma trận chỉ với một cột:
const vector = [ [1],[2],[3] ];
Các vectơ cũng có thể được viết dưới dạng Arrays :
const vector = [ 1, 2, 3 ];
Tensor là mảng N chiều :
const tensor = [ [1,2,3],[4,5,6],[7,8,9] ];
Hoạt động của Tenor JavaScript
Lập trình các phép toán tensor trong JavaScript có thể dễ dàng trở thành một chuỗi các vòng lặp.
Sử dụng thư viện JavaScript sẽ giúp bạn đỡ đau đầu hơn rất nhiều.
Một trong những thư viện phổ biến nhất được sử dụng cho các phép toán tensor được gọi là tensorflow.js .
Phép cộng tensor
const tensorA = tf.tensor([[1, 2], [3, 4], [5, 6]]);
const tensorB = tf.tensor([[1,-1], [2,-2], [3,-3]]);
// Tensor Addition
const tensorAdd = tensorA.add(tensorB);
// Result [ [2, 1], [5, 2], [8, 3] ]
Phép trừ tensor
const tensorA = tf.tensor([[1, 2], [3, 4], [5, 6]]);
const tensorB = tf.tensor([[1,-1], [2,-2], [3,-3]]);
// Tensor Subtraction
const tensorSub = tensorA.sub(tensorB);
// Result [ [0, 3], [1, 6], [2, 9] ]
Tìm hiểu thêm về Tensorflow ...