Rank

Gauss yöntemini kullanarak matris rankını geri döndürür.

int  Rank()

Geri dönüş değeri

Matrisin rankı.

Not

m satır ve n sütuna sahip bir A matrisinin satır (veya sütun) sisteminin rankı, lineer bağımsız satırların (veya sütunların) maksimum sayısıdır. Diğerleri cinsinden lineer olarak ifade edilemiyorsa, bu satırlar (veya sütunlar) lineer bağımsız olarak adlandırılır. Satır sisteminin rankı her zaman sütun sisteminin rankına eşittir. Bu değere matrisin rankı denir.

MQL5 örneği:

  matrix a=matrix::Eye(44);;
  Print("matrix a \n"a);
  Print("a.Rank()="a.Rank());
 
  matrix I=matrix::Eye(44);
  I[33] = 0.;    // rank eksik matris
  Print("I \n"I);
  Print("I.Rank()="I.Rank());
 
  matrix b=matrix::Ones(14);
  Print("b \n"b);
  Print("b.Rank()="b.Rank());;// 1 boyut - rank 1, tümü 0 olmadığı sürece
 
  matrix  zeros=matrix::Zeros(41);
  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
  */

 

Python örneği:

import numpy as np
from numpy.linalg import matrix_rank
a=(np.eye(4)) # tam rank matris
print("a \n"a)
print("matrix_rank(a)=",matrix_rank(a))
I=np.eye(4)
I[-1,-1] = 0# rank eksik matris
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 boyut - rank 1, tümü 0 olmadığı sürece
 
zeros=np.zeros((4,))
print("zeroes \n",zeros)
print("matrix_rank(zeros)=",matrix_rank(zeros))
 
a 
 [[1000.]
 [0100.]
 [0010.]
 [0001.]]
matrix_rank(a)= 4
 
I 
 [[1000.]
 [0100.]
 [0010.]
 [0000.]]
matrix_rank(I)= 3
 
b 
 [1111.]
matrix_rank(b)= 1
 
zeroes 
 [0000.]
matrix_rank(zeros)= 0