linear_expand_expr_JPH {lazy.symbolic} | R Documentation |
関数・演算子を加法に対して線形に分配する
Arguments
expr |
式(expression)または文字列 |
... |
線形に展開したい関数名や演算子名を文字列で指定 (例: '"tr"', '"inv"', '"*"')。 |
exchangable_ops |
追加で展開対象にする関数や演算子を文字列で指定。 既定は空ですが、'...' で指定した名前は自動的にここに含まれます。 |
most_out |
は「分配の基準となる外側の演算子」を指定します。 既定値は c("+","-") で、この場合は加減算に対して分配が行われます(例: tr(A-B) -> tr(A) - tr(B))。 変更すると、他の演算子に対しても分配が可能になります。 例えば most_out = " \itemtype'"binary"', '"unary"', '"both"' のいずれか。 '"binary"' の場合は二項演算(長さ3の call)のみを対象とし、 '"unary"' の場合は単項演算(長さ2の call)のみを対象とし、 '"both"' の場合は両方を展開対象とします(既定は '"both"')。 |
クオートされた式(quoted expression) 英語のヘルプファイルは: linear_expand_expr 指定した関数や演算子(例: 'tr', 'inv', '"*"' など)を 加法(+/-)に対して線形に展開します。
linear_expand_expr("tr(A-B)", "tr", "inv") linear_expand_expr("inv(tr(A-B)) %*% C", "tr") linear_expand_expr("tr(A-B+C)", "tr") linear_expand_expr("A-B", "tr")
linear_expand_expr("A%*%(X-B)", "%*%") linear_expand_expr("tr(A%*%(X-B))", "tr", "%*%", "(")
linear_expand_expr("(A-B)*(A-B)", "*")