summaryrefslogtreecommitdiffstats
path: root/scilab/modules/polynomials/help/en_US/roots.xml
blob: 59078f0f877caf51aa7fb3fb99677fcf26081265 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<?xml version="1.0" encoding="UTF-8"?>
<!--
 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 * Copyright (C) 2006-2008 - INRIA
 *
 * This file must be used under the terms of the CeCILL.
 * This source file is licensed as described in the file COPYING, which
 * you should have received as part of this distribution.  The terms
 * are also available at
 * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 *
 -->
<refentry version="5.0-subset Scilab" xml:id="roots" xml:lang="en"
          xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xmlns:svg="http://www.w3.org/2000/svg"
          xmlns:ns5="http://www.w3.org/1999/xhtml"
          xmlns:mml="http://www.w3.org/1998/Math/MathML"
          xmlns:db="http://docbook.org/ns/docbook">
  <info>
    <pubdate>$LastChangedDate: 2008-07-11 10:31:18 +0200 (ven., 11 juil. 2008)
    $</pubdate>
  </info>

  <refnamediv>
    <refname>roots</refname>

    <refpurpose>roots of polynomials</refpurpose>
  </refnamediv>

  <refsynopsisdiv>
    <title>Calling Sequence</title>

    <synopsis>[x]=roots(p)
[x]=roots(p,'e')</synopsis>
  </refsynopsisdiv>

  <refsection>
    <title>Arguments</title>

    <variablelist>
      <varlistentry>
        <term>p</term>

        <listitem>
          <para>polynomial with real or complex coefficients or vector of the
          polynomial coefficients in decreasing degree order (Matlab
          compatibility).</para>
        </listitem>
      </varlistentry>
    </variablelist>
  </refsection>

  <refsection>
    <title>Description</title>

    <para><literal>x=roots(p)</literal> returns in the complex vector
    <literal>x</literal> the roots of the polynomial <literal>p</literal>. For
    real polynomials of degree &lt;=100 the fast RPOLY algorithm (based on
    Jenkins-Traub method) is used. In the other cases the roots are computed
    as the eigenvalues of the associated companion matrix. Use
    <literal>x=roots(p,'e')</literal> to force this algorithm in any
    cases.</para>
  </refsection>

  <refsection>
    <title>Examples</title>

    <programlisting role="example"><![CDATA[ 
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)
 ]]></programlisting>
  </refsection>

  <refsection role="see also">
<title>See Also</title>

    <simplelist type="inline">
      <member><link linkend="poly">poly</link></member>

      <member><link linkend="spec">spec</link></member>

      <member><link linkend="companion">companion</link></member>
    </simplelist>
  </refsection>

  <refsection>
    <title>Authors</title>

    <simplelist type="vert">
      <member>Serge Steer (INRIA)</member>
    </simplelist>
  </refsection>

  <refsection>
    <title>References</title>

    <para>The RPOLY algorithm is described in "Algorithm 493: Zeros of a Real
    Polynomial", ACM TOMS Volume 1, Issue 2 (June 1975), pp. 178-189</para>
    <para>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.</para>
    <para>Jenkins, M. A. and Traub, J. F. (1970), Principles for Testing Polynomial Zerofinding Programs.
    ACM TOMS 1, 1 (March 1975), pp. 26-34</para>

  </refsection>

  <refsection>
    <title>Used Functions</title>

    <para>The rpoly.f source codes can be found in the directory
	    SCI/modules/polynomials/src/fortran of a Scilab source distribution. In the case where the
    companion matrix is used, the eigenvalue computation is perfomed using
    DGEEV and ZGEEV LAPACK codes.</para>
  </refsection>
</refentry>