mat2sum_JPH {lazy.symbolic} | R Documentation |
行列式の i-j 要素を総和演算子で表現する
Description
英語のヘルプファイルは: mat2sum
Arguments
expr |
完全記号行列表現 |
row |
行の添字名(1文字のアルファベット) |
col |
列の添字名(1文字のアルファベット) |
root |
中間添字の接頭辞 |
sublist |
中間添字名を含む文字ベクトル |
simple |
= 0 の場合、subscript, from, to の完全指定を使用 |
expand |
= 0 の場合、(A+B) や (A*B) 等を展開しない |
lcasvec |
= 0 の場合、小文字オブジェクトをベクトルとして扱わない |
print |
= 1 結果を表示 |
debug |
= 1 中間結果を表示 |
Details
添字 k に関する式の総和は以下のように表現されます。
s( expr, {k} )
または
s( expr, {k, from, to} )
小文字オブジェクトは列ベクトルとして扱われます(下記例参照)。
row="i"、col="j" の場合:
mat2sum( "A mat2sum( "A mat2sum( "A mat2sum( "t(A) mat2sum( "A mat2sum( "A mat2sum( "A mat2sum( "t(a)
単位行列 I や vec 関数は認識されません。
Diag または diag 関数は認識されます。
クロネッカー積は変換されません。
ハダマード積は正しく処理されない場合があります。
括弧内の式は変換されません。
変換後の総和式は sumEval 関数で展開・評価できます。
複雑な式を変換しようとしないでください。
Examples
mat2sum( "A %*% B" )
mat2sum( "A %*% B", root="z" )
mat2sum( "A %*% B", simple=0 )
mat2sum( "t(A) %*% B" )
mat2sum( "A %*% t(B)" )
mat2sum( "A %*%Diag(B)%*%C" )
mat2sum( "A %*% b" )
mat2sum( "t(a) %*% B" )
mat2sum( "a %*% t(b)" )
mat2sum( "A%*%(B+C)" )
mat2sum( "A%*%(B+C)", expand=0 )
expr="t(A)%*%t(B)%*%C - D%*%t(E)"
mat2sum( expr )
mat2sum( expr, root="k" )
mat2sum( expr, sublist=letters[11:20] )
expr="A%*%diag(B)%*%C - diag(D)%*%E%*%diag(F)%*%G + diag(H)"
mat2sum( expr )
sexp0=mat2sum( "A%*%(B+C)", expand=0 )
sexp=mat2sum( "A%*%(B+C)" )
sexpe=Expand(c(sexp0,sexp))
printm(sexp0,sexp,sexpe)
mat2sum("t(y-yh)%*%diag(W)%*%(y-yh)", sublist="i")
mat2sum("t(y-yh)%*%diag(W)%*%(y-yh)", sublist="i", lcasvec=0)
mat2sum("t(y-yh)%*%W%*%(y-yh)", sublist=c("i","j"))
mat2sum("t(y-yh)%*%W%*%(y-yh)", sublist=c("i","j"), lcasvec=0)
[Package lazy.symbolic version 1.0.0.20250830 ]