|
|
◆ dka()
| void dka |
( |
int |
n, |
|
|
doublecomplex |
a[], |
|
|
doublecomplex |
r[], |
|
|
int |
maxiter, |
|
|
int * |
iter, |
|
|
doublecomplex |
work[], |
|
|
double |
rwork[], |
|
|
int * |
info |
|
) |
| |
高次代数方程式 (複素係数, 複素解) (3次のDKA法)
- 目的
- dkaは複素係数の多項式p(z)のすべてのゼロ点を3次のDKA(Durand-Kerner-Aberth)法により求める.
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). |
| [out] | r[] | 配列 r[lr] (lr >= n)
求められた解. |
| [in] | maxiter | 最大反復回数. (maxiter >= 1) |
| [out] | iter | 収束に要した反復回数. |
| [out] | work[] | 配列 work[lwork] (lwork >= n + 1)
作業領域. |
| [out] | rwork[] | 配列 rwork[lrwork] (lrwork >= n + 1)
作業領域. |
| [out] | info | = 0: 正常終了
= -1: 入力パラメータ n の誤り (n < 1)
= -2: 入力パラメータ a の誤り (a[0] = 0)
= -4: 入力パラメータ maxiter の誤り (maxiter <= 0)
= 1: maxiter回の反復で収束しなかった |
- 出典
- 森正武、「FORTRAN77数値計算プログラミング(増補版)」岩波書店 (1987)
|