Rank
Trả về hạng của ma trận bằng phương pháp Gaussian.
cpp
int Rank()
1
Giá trị trả về
Hạng của ma trận.
Ghi chú
- Hạng của hệ các hàng (hoặc cột) của ma trận A có m hàng và n cột là số lượng tối đa các hàng (hoặc cột) độc lập tuyến tính. Một số hàng (cột) được gọi là độc lập tuyến tính nếu không hàng (cột) nào trong số chúng có thể được biểu diễn tuyến tính qua các hàng (cột) khác. Hạng của hệ hàng luôn bằng hạng của hệ cột. Giá trị này được gọi là hạng của ma trận.
Ví dụ MQL5:
cpp
matrix a=matrix::Eye(4, 4);;
Print("matrix a \n", a);
Print("a.Rank()=", a.Rank());
matrix I=matrix::Eye(4, 4);
I[3, 3] = 0.; // ma trận thiếu hạng
Print("I \n", I);
Print("I.Rank()=", I.Rank());
matrix b=matrix::Ones(1, 4);
Print("b \n", b);
Print("b.Rank()=", b.Rank());;// 1 chiều - hạng 1 trừ khi toàn 0
matrix zeros=matrix::Zeros(4, 1);
Print("zeros \n", zeros);
Print("zeros.Rank()=", zeros.Rank());
/*
matrix a
[[1,0,0,0]
[0,1,0,0]
[0,0,1,0]
[0,0,0,1]]
a.Rank()=4
I
[[1,0,0,0]
[0,1,0,0]
[0,0,1,0]
[0,0,0,0]]
I.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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Ví dụ Python:
cpp
import numpy as np
from numpy.linalg import matrix_rank
a=(np.eye(4)) # Ma trận hạng đầy
print("a \n", a)
print("matrix_rank(a)=",matrix_rank(a))
I=np.eye(4)
I[-1,-1] = 0. # ma trận thiếu hạng
print("I \n",I)
print("matrix_rank(I)=",matrix_rank(I))
b=np.ones((4,))
print("b \n",b)
print("matrix_rank(b)=",matrix_rank(b)) # 1 chiều - hạng 1 trừ khi toàn 0
zeros=np.zeros((4,))
print("zeroes \n",zeros)
print("matrix_rank(zeros)=",matrix_rank(zeros))
a
[[1. 0. 0. 0.]
[0. 1. 0. 0.]
[0. 0. 1. 0.]
[0. 0. 0. 1.]]
matrix_rank(a)= 4
I
[[1. 0. 0. 0.]
[0. 1. 0. 0.]
[0. 0. 1. 0.]
[0. 0. 0. 0.]]
matrix_rank(I)= 3
b
[1. 1. 1. 1.]
matrix_rank(b)= 1
zeroes
[0. 0. 0. 0.]
matrix_rank(zeros)= 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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39