vecvecindex_JPH {lazy.symbolic}R Documentation

vec(Mat) を vec(t(Mat)) に変換するためのインデックスを返す およびその逆

Description

英語のヘルプファイルは: vecvecindex

Arguments

nr

行数

nc

列数

Details

A を nr x nc 行列とする。
vec(A) から vec(t(A)) を作成する場合:
index = vecvecindex(nr, nc) # A の順序と同じ
vec(t(A)) == vec(A)[index]

vec(t(A)) から vec(A) を作成する場合:
index = vecvecindex(nc, nr) # 逆の順序
vec(A) == vec(t(A))[index]

文字行列にも使用可能。
このインデックスを用いて、交換行列(Commutation matrix)を作成可能。 lazy.mat::Kmat 関数を参照。

Value

インデックスのベクトル

Examples

A <- demomat(3,2)
vecA <- vec(A); vectA <- vec(t(A))
i1 <- vecvecindex(3,2)
vectA - vecA[i1]
i2 <- vecvecindex(2,3)
vecA - vectA[i2]

# ベクトルから下三角行列の値を設定
S = diag(3)
S[upper.tri(S, diag=TRUE)] = c(1,2,3,4,5,6)
printm(S)
S[] = S[index = vecvecindex(3,3)]
printm(S)

# より簡単な方法
S = diag(3)
S[upper.tri(S, diag=TRUE)] = c(1,2,3,4,5,6)
S = t(S)
printm(S)


[Package lazy.symbolic version 1.0.0.20250830 ]