ランク

行列Bのランクですが

B<-matrix(0,3,3)     #Bの一般型
for(i in 1:3){
 for(j in i:3){
  B[i,j]<-runif(1)
  B[2,1]<-B[1,2]-3
  B[3,1]<-B[1,3]+6
  B[3,2]<-B[2,3]-6
 }
}
B
qr(B[1:3,])$rank  #Bのランク
> B
           [,1]       [,2]       [,3]
[1,]  0.8022009  0.4362612 0.59411131
[2,] -2.5637388  0.4310824 0.02974252
[3,]  6.5941113 -5.9702575 0.38699069
> qr(B[1:3,])$rank
[1] 3

となるのでここまででBのランクは3です。
B=kl\vec{u}{}^{t}\vec{}v ならば B\vec{v} = kl\vec{u}
なのですが分解のときに一般性を失っていると思います(確認方法を考え中です)

by NK

                          • -

もともとの方針がAをu,vに分解することを考えていて、u tvをBとおいたわけで、この定義と A = B-tBに分解できるBという定義は違うはず。 どちらを使っても良いが、u,vで考えるなら上にあるようなBの一般型にこだわる必要はないだろう。 Aとu,vの関係を第1にするべきか。
by NK