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 ]