vechindex_JPH {lazy.symbolic} | R Documentation |
vech(Mat) と Mat を相互変換するためのインデックスを返す
Description
英語のヘルプファイルは: vechindex
Arguments
n |
行列の行数および列数 |
nodiag |
= 1 で対角要素を省略 |
byrow |
= 1 |
lowerh |
= 1 |
type |
= 1 ベクトル形式のインデックスを生成 |
i |
行インデックス |
j |
列インデックス |
Details
A を n x n 行列とする。
A から vech(A) を作成する場合:
index <- vechindex(n); vechA <- A[index]
これは vechA = vech(A)
と同等である。
下三角要素に含まれる要素を確認する場合は:
index <- vechindex(n, type=2)
これにより、(i,j) の組み合わせを行列として得られる。
vechA から A を復元する場合:
index <- vechindex(n); A[index] <- vechA
これは A <- vechinv(vechA)
と同等である。
i, j (i >= j) が指定された場合、vech(A) 内の A[i,j] の位置が
同じサイズのベクトルとして返される。
文字行列にも使用可能。
Value
インデックスのベクトルまたは行列
Examples
# vech の動作を vechindex で再現
ndim = 4
M = demomat(ndim, ndim, root="m")
vechM = vech(M); vechM2 = M[vechindex(ndim)]
Print(vechM, vechM2)
vechM = vech(M, byrow=0); vechM2 = M[vechindex(ndim, byrow=0)]
Print(vechM, vechM2)
vechM = vech(M, lowerh=0); vechM2 = M[vechindex(ndim, lowerh=0)]
Print(vechM, vechM2)
vechM = vech(M, byrow=0, lowerh=0); vechM2 = M[vechindex(ndim, byrow=0, lowerh=0)]
Print(vechM, vechM2)
# vechinv の動作を vechindex で再現
M2 = matrix(NA, ndim, ndim)
M2[vechindex(ndim)] = vech(M)
Print(M2)
M2 = matrix(NA, ndim, ndim)
M2[vechindex(ndim, lowerh=0)] = vech(M, lowerh=0)
Print(M2)
# ベクトルインデックス k から i, j
n <- 5
ij <- vechindex(n, type=2)
# i, j から k
k <- vechindex(n, i=ij[,1], j=ij[,2])
Print(ij, k)
[Package lazy.symbolic version 1.0.0.20250830 ]