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 ]