Đặc tính của ma trận và vector
Nhóm phương thức sau đây có thể được sử dụng để thu thập các đặc tính chính của ma trận:
Rows, Cols
: số hàng và số cột trong ma trậnNorm
: một trong những chuẩn ma trận được định nghĩa trước (ENUM_MATRIX_NORM
)Cond
: số điều kiện của ma trậnDet
: định thức của một ma trận vuông không suy biếnSLogDet
: tính dấu và logarit của định thức ma trậnRank
: hạng của ma trậnTrace
: tổng các phần tử dọc theo đường chéo của ma trận (dấu vết)Spectrum
: phổ của ma trận dưới dạng tập hợp các giá trị riêng của nó
Ngoài ra, các đặc tính sau được định nghĩa cho vector:
Size
: độ dài của vectorNorm
: một trong những chuẩn vector được định nghĩa trước (ENUM_VECTOR_NORM
)
Kích thước của các đối tượng (cũng như việc lập chỉ mục các phần tử trong chúng) sử dụng các giá trị kiểu ulong
.
ulong matrix<T>::Rows()
ulong matrix<T>::Cols()
ulong vector<T>::Size()
Hầu hết các đặc tính khác là các số thực.
double vector<T>::Norm(const ENUM_VECTOR_NORM norm, const int norm_p = 2)
double matrix<T>::Norm(const ENUM_MATRIX_NORM norm)
double matrix<T>::Cond(const ENUM_MATRIX_NORM norm)
double matrix<T>::Det()
double matrix<T>::SLogDet(int &sign)
double matrix<T>::Trace()
Hạng và phổ lần lượt là một số nguyên và một vector.
int matrix<T>::Rank()
vector matrix<T>::Spectrum()
Ví dụ tính hạng của ma trận:
cpp
matrix a = matrix::Eye(4, 4);
Print("matrix a (eye)\n", a);
Print("a.Rank()=", a.Rank());
a[3, 3] = 0;
Print("matrix a (defective eye)\n", a);
Print("a.Rank()=", a.Rank());
matrix b = matrix::Ones(1, 4);
Print("b \n", b);
Print("b.Rank()=", b.Rank());
matrix zeros = matrix::Zeros(4, 1);
Print("zeros \n", zeros);
Print("zeros.Rank()=", zeros.Rank());
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Và đây là kết quả của việc thực thi đoạn mã:
cpp
matrix a (eye)
[[1,0,0,0]
[0,1,0,0]
[0,0,1,0]
[0,0,0,1]]
a.Rank()=4
matrix a (defective eye)
[[1,0,0,0]
[0,1,0,0]
[0,0,1,0]
[0,0,0,0]]
a.Rank()=3
b
[[1,1,1,1]]
b.Rank()=1
zeros
[[0]
[0]
[0]
[0]]
zeros.Rank()=0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24