XLPack 7.0
XLPack 数値計算ライブラリ (C API) リファレンスマニュアル
読み取り中…
検索中…
一致する文字列を見つけられません

◆ 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)