Det
Tính định thức của một ma trận vuông khả nghịch.
cpp
double matrix::Det()
1
Giá trị trả về
Định thức của ma trận.
Ghi chú
- Định thức của ma trận bậc 2 và bậc 3 được tính theo quy tắc Sarrus.
d2=a11*a22-a12*a21
;d3=a11*a22*a33+a12*a23*a31+a13*a21*a32-a13*a22*a31-a11*a23*a32-a12*a21*a33
- Định thức được tính bằng phương pháp Gaussian bằng cách đưa ma trận về dạng tam giác trên. Định thức của ma trận tam giác trên bằng tích các phần tử trên đường chéo chính.
- Nếu ít nhất một hàng hoặc cột của ma trận bằng 0, định thức bằng 0.
- Nếu hai hoặc nhiều hàng hoặc cột của ma trận phụ thuộc tuyến tính, định thức của nó bằng 0.
- Định thức của một ma trận bằng tích các giá trị riêng của nó.
Ví dụ MQL5:
cpp
matrix m={{1,2},{3,4}};
double det=m.Det();
Print("matrix m\n",m);
Print("det(m)=",det);
/*
matrix m
[[1,2]
[3,4]]
det(m)=-2.0
*/
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
Ví dụ Python:
cpp
import numpy as np
a = np.array([[1, 2], [3, 4]])
print("a \n",a)
print("nnp.linalg.det(a) \n",np.linalg.det(a))
a
[[1 2]
[3 4]]
np.linalg.det(a)
-2.0000000000000004
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11