SolveTools[Linear] - 線形の連立方程式を解く
使い方
Linear(eqns, vars, 'method'='Method', notz)
パラメータ
eqns::list, set(algebraic=algebraic, algebraic) - 連立方程式
vars::list, set(name) - 方程式を解く変数
method=Method - (オプション) ここで Method は AlgebraicFunction, AlgebraicNumber, ComplexFloat, ComplexRational, Float, Polynomial, RadicalFunction, RadicalNumber, Rational, RationalAlgebraicFunction のうちのいずれか
notz - (オプション) ゼロに等しくない式
|
説明
|
|
•
|
Linear 関数は、線形の連立方程式を解きます。
|
•
|
オプション引数は、ゼロでない式 notz、および系を解くための method を含みます。
|
|
method が指定されていない場合には、Linear は系の種類に応じて、解析処理を急いで行うように試みます。以下の等式の種類に対応する、利用可能な解法を参照して下さい(チェックはこの順で実行されます)。
|
Rational - 'polynom'('rational', vars)
Float -'polynom'('numeric', vars)
ComplexRational - 'polynom'('complex'('rational'), vars)
ComplexFloat - 'polynom'('complex'('numeric'), vars)
Polynomial - 'ratpoly'('rational')
AlgebraicNumber - 'polynom'('algnum', vars)
RadicalNumber - 'ratpoly'('radnum', vars)
RationalAlgebraicFunction - 'ratpoly'('algnum')
AlgebraicFunction - 'algfun'('rational')
RadicalFunction - 'radfun'('rational')
•
|
手法が指定されていない、または系が上記の種類のいずれかでない場合には、Linear は、primitive fraction-free algorithm である、デフォルトの universal 法を使用します。
|
•
|
全てのアルゴリズムが、大きい疎な系で使用されることを意図しています。しかし、これらは密な系でも実行されます。
|
•
|
数値係数の安定性に関するピボット演算や、代数かつ有理数の係数に関する primitive fraction-free で使用されるアルゴリズムは、ガウスの消去法です。
|
|
|
例
|
|
>
|
with(SolveTools):
Linear({x+y,x-y-2},{x,y});
|
| (2.1) |
>
|
Linear([x+y,x-y-2],[x,y],[y+1]);
Linear({x+y=5.,4*x-3*y-2},{x,y});
|
| (2.2) |
>
|
Linear({x+y=5.,4*x-3*y-2-I},{x,y},method=ComplexFloat);
|
| (2.3) |
以下の例では、系が係数として y の多項式を持ち、y の全ての値について等式が成立する x が存在しないことが原因で、NULL を返します。
>
|
Linear({x+y=5.,4*x-3*y-2},{x});
Linear({x+y+z=5^(1/2),4*x-3*y-2},{x,y,z});
|
| (2.4) |
>
|
Linear({x+2*RootOf(v^2-w,v)*w*y,5*x*w-3*y+7},{x,y});
|
| (2.5) |
|
|