Eval_JPH {lazy.symbolic}R Documentation

置換後の記号行列を評価する

Description

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

Arguments

..expr

置換後に評価する記号行列

...

pat1=pat2 の形式で置換を指定

values

セミコロンで区切った複数置換を含む文字ベクトル

fullsymb

=1 の場合、expr を完全な記号式として扱う。
matReplace 関数の説明も参照。

check

=0 の場合、式が評価可能かどうかのチェックを行わない (以下参照)。

ntogoback

sys.parent 関数の n パラメータ

debug

matReplace のデバッグ用パラメータ

Details

この関数はまず、expr に含まれる pat1 行列の要素を 対応する pat2 行列の要素で置換します。
次に、置換後の式が数値のみで構成されていれば、評価を行います。

詳細は matReplace 関数の説明を参照してください。

置換後の式にアルファベットが含まれる場合、この関数は式を評価しません。
したがって、関数呼び出しを含む式で check=1 を指定すると評価されません。
式が確実に有効であることが分かっている場合は check=0 を使用してください。

Value

expr と同じサイズの数値行列

Examples


# 行列の置換
A <- demomat(2,2, root="a")
B <- demomat(2,2, root="b")
An <- demomat(2,2)
Bn <- demomat(2,2)*1000
ApB <- Plus(A,B)
ApBn <- Eval(ApB, A=An, B=Bn)
ApBn2 <- Eval(ApB, values=c("A=An; B=Bn") )
Print(ApB, ApBn, An+Bn)
Print(ApBn, ApBn2)

AtB <- matTimes(A,B)
AtBn <- Eval(AtB, A=An, B=Bn)
Print(AtB, AtBn, An%*%Bn)

# スカラー置換
val <- "a=1; b=2; c=3; d=4; e=5"
expr <- "(a+b*c-d)/e"
Eval(expr,values=val)

# 行列置換: 完全な記号式
res=Eval("matTimes(t(A),B)"
        , A=demomat(2,2), B=demomat(2,2), fullsymb=1)
printm(res)

# 以下はエラーになります
# Eval(A)



[Package lazy.symbolic version 1.0.0.20250830 ]