find_factors_JPH {lazy.symbolic} | R Documentation |
項を乗法的の因子に分解
Description
英語のヘルプファイルは: find_factors
Arguments
expr |
式の文字列(スカラー、ベクトル、または行列) |
markso |
= 0 の場合は特殊演算子をマークしない |
sort |
= 1 の場合は因子を名前順にソート |
debug |
= 1 の場合は中間結果を表示 |
Details
i 番目の因子は、前置演算子付きで次のように得られます:
substr( expr0, fromto[i,1], fromto[i,2] )
ここで expr0 は空白を圧縮した式です。
i 番目の因子に対応する前置演算子は oper[i] です。
元の式は次のいずれかの方法で再構成できます:
res <- find_factors( expr ) expr <- paste( mapply( paste, res$oper, res$factor, sep="" ), collapse="" )
または
expr <- paste( paste( res$oper, res$factor, sep="" ), collapse="" )
または
expr <- paste( apply(res$tab,1, function(x){paste(x,collapse="")} )
, collapse="")
不均衡な括弧がある場合は無視されますが、valid フラグに記録されます。
因子を名前順にソートすることも可能です:
res <- find_factors("A*d/a/c", sort=1) exprs <- paste( paste( res$oper, res$factor, sep="" ), collapse="" ) res <- find_factors("A*c/(x+y)/d", sort=1) exprs <- paste( paste( res$oper, res$factor, sep="" ), collapse="" )
Value
リストを返します。内容は以下の通りです:
因子の数(nfactors)、
演算子のベクトル(oper)、
因子のベクトル(factor)、
各 oper+factor の位置(fromto)、
演算子と因子の行列(tab)、
各因子の有効フラグ(valid)、
入力式が再構成されたものと等しい場合の ok フラグ(ok=1)。
Examples
find_factors( "a*b/c*(d-e)*f(n)" )
find_factors( c("a*b/c*(d-e)*f(n)", "-2.13*a") )
find_factors( "a%*%b/c%*%(d-e)%*%f(n)" )
find_factors( "ab%*%cd*(b%p%q+a%m%c)/c*d/a%T%b" )
# エラー例
find_factors( "a+b" )
[Package lazy.symbolic version 1.0.0.20250830 ]