|
|
◆ rpzero2()
| void rpzero2 |
( |
int |
n, |
|
|
double |
a[], |
|
|
double |
rr[], |
|
|
double |
ri[], |
|
|
int |
iflag, |
|
|
int |
maxiter, |
|
|
int * |
iter, |
|
|
double |
s[], |
|
|
double |
work[], |
|
|
int * |
info |
|
) |
| |
高次代数方程式 (実数係数, 複素解) (連立法) (複素数型不使用)
- 目的
- rpzero2は実数係数の多項式p(z)のすべてのゼロ点を連立法により求める.
p(z) = a0*z^n + a1*z^(n-1) + ... + an
得られた解は, 実数部と虚数部が別々の実数型変数に出力される.
- 引数
-
| [in] | n | 方程式の次数. (n >= 1) |
| [in] | a[] | 配列 a[la] (la >= n + 1)
p(z)の実数係数ベクトル (a0 〜 an). |
| [in,out] | rr[] | 配列 rr[lrr] (lrr >= n)
[in] 方程式の解の初期推定値の実数部. 不明であれば, iflag = 0 として推定値を設定しなくてもよい.
注 - 初期推定値はすべて異なった値であること.
[out] 求められた解の実数部. |
| [in,out] | ri[] | 配列 ri[lri] (lri >= n)
[in] 方程式の解の初期推定値の虚数部. 不明であれば, iflag = 0 として推定値を設定しなくてもよい.
注 - 初期推定値はすべて異なった値であること.
[out] 求められた解の虚数部. |
| [in] | iflag | 方程式の解の初期推定値の入力フラグ.
= 0: 初期推定値は与えられていない.
!= 0: rr[]およびri[]に初期推定値が与えられている. |
| [in] | maxiter | 最大反復回数. (maxitr >= 1) |
| [out] | iter | 収束に要した反復回数. |
| [out] | s[] | 配列 s[ls] (ls >= n)
求められた解の誤差限界. |
| [out] | work[] | 配列 work[lwork] (lwork >= 8*n + 6)
作業領域. |
| [out] | info | = 0: 正常終了
= -1: 入力パラメータ n の誤り (n < 1)
= -2: 入力パラメータ a の誤り (a[0] = 0)
= -6: 入力パラメータ maxiter の誤り (maxiter <= 0)
= 1: maxiter回の反復で収束しなかった. ゼロ点の最終推定値がrr[]およびri[]に入る. 誤差限界s[]は計算されない. |
- 出典
- SLATEC
|