Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - Русский

Please note that the recommended version of Scilab is 6.0.1. This page might be outdated.
See the recommended documentation of this function

Scilab help >> Polynomials > roots

roots

多項式の根

呼び出し手順

[x]=roots(p)
[x]=roots(p,'e')

パラメータ

p

実数または複素係数の多項式 または 降順の多項式係数のベクトル(MATLAB互換用).

説明

x=roots(p) は 多項式pxである 複素ベクトルを返す. 100次以下の実数多項式の場合,高速な(Jenkins-Traub法に基づく) RPOLYアルゴリズムが使用される. その他の場合, その根はコンパニオン行列の固有値として計算される. どのような場合でもこのアルゴリズムを強制的に使用したい 場合,x=roots(p,'e')を使用されたい.

p=poly([0,10,1+%i,1-%i],'x');
roots(p)
A=rand(3,3);roots(poly(A,'x'))    // Evals by characteristic polynomial
spec(A)

参照

RPOLYアルゴリズムは以下の文献に記述されている. "Algorithm 493: Zeros of a Real Polynomial", ACM TOMS Volume 1, Issue 2 (June 1975), pp. 178-189

Jenkins, M. A. and Traub, J. F. (1970), A Three-Stage Algorithm for Real Polynomials Using Quadratic Iteration, SIAM J. Numer. Anal., 7(1970), 545-566.

Jenkins, M. A. and Traub, J. F. (1970), Principles for Testing Polynomial Zerofinding Programs. ACM TOMS 1, 1 (March 1975), pp. 26-34

使用される関数

ソースコードrpoly.f はScilabの配布ソースのディレクトリ SCI/modules/polynomials/src/fortran にある. コンパニオン行列が使用される場合,固有値計算は LapackコードであるDGEEVおよびZGEEVにより行われる.

Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Oct 01 17:40:28 CEST 2012