5760fcfd56210eddff37b0dd3d8544f716a79f8c
[scilab.git] / scilab / modules / elementary_functions / help / fr_FR / exponential / power.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4  * Copyright (C) 2012 - 2016 - Scilab Enterprises
5  * Copyright (C) 2020 - Samuel GOUGEON
6  *
7  * This file is hereby licensed under the terms of the GNU GPL v2.0,
8  * pursuant to article 5.3.4 of the CeCILL v.2.1.
9  * This file was originally licensed under the terms of the CeCILL v2.1,
10  * and continues to be available under such terms.
11  * For more information, see the COPYING file which you should have received
12  * along with this program.
13  *
14 -->
15 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
16           xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML"
17           xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"
18           xml:lang="fr" xml:id="power">
19     <refnamediv>
20         <refname>power</refname>
21         <refpurpose>élévation à la puissance (^,.^)   </refpurpose>
22     </refnamediv>
23     <refsynopsisdiv>
24         <title>Séquence d'appel</title>
25         <synopsis>
26             t = A ^ b
27             t = A ** b
28             t = A .^ b
29         </synopsis>
30     </refsynopsisdiv>
31     <refsection>
32         <title>Paramètres</title>
33         <variablelist>
34             <varlistentry>
35                 <term>A, t  </term>
36                 <listitem>
37                     scalaire, vecteur, ou matrice de nombres entiers encodés, de nombres
38                     ou polynômes ou fractions rationnelles à coefficients réels ou complexes.
39                     <para/>
40                 </listitem>
41             </varlistentry>
42             <varlistentry>
43                 <term>b  </term>
44                 <listitem>
45                     scalaire, vecteur, ou matrice d'entiers encodés, de nombres décimaux,
46                     ou de nombres complexes.
47                     <para/>
48                 </listitem>
49             </varlistentry>
50         </variablelist>
51         <para>
52             Si un opérande sont des entiers encodés, l'autre peut être uniquement des entiers
53             encodés ou des nombres réels.
54         </para>
55         <para>
56             Si <varname>A</varname> sont des polynômes ou des fractions rationnelles,
57             <varname>b</varname> peut uniquement être un entier décimal (positif ou négatif).
58         </para>
59     </refsection>
60     <refsection>
61         <title>Description</title>
62         <refsect3>
63             <title>.^ : puissances respectives par élément</title>
64             <para>
65                 Si <varname>A</varname> ou <varname>b</varname> est scalaire, il est préalablement
66                 répliqué à la taille de l'autre, par A*ones(b) ou b*ones(A).
67                 Sinon, <varname>A</varname> et <varname>b</varname> doivent avoir la même taille.
68             </para>
69             <para>
70                 Alors, pour chaque élément numéro i, <literal>t(i) = A(i)^b(i)</literal>
71                 est calculé.
72             </para>
73         </refsect3>
74         <refsect3>
75             <title>^ : puissance matricielle</title>
76             <para>
77                 L'opérateur ^ est équivalent à .^ dans les cas suivants :
78                 <itemizedlist>
79                     <listitem>
80                         <varname>A</varname> est scalaire et <varname>b</varname> est un vecteur.
81                     </listitem>
82                     <listitem>
83                         <varname>A</varname> est un vecteur et <varname>b</varname> est scalaire.
84                     </listitem>
85                 </itemizedlist>
86                 Sinon, <varname>A</varname> ou <varname>b</varname> doit être scalaire, et l'autre
87                 opérande  doit être une matrice carrée :
88                 <itemizedlist>
89                     <listitem>
90                         <para>
91                             Si <varname>A</varname> est scalaire et <varname>b</varname> est carrée,
92                             alors <literal>A^b</literal> est la matrice
93                             <literal>expm(log(A) * b)</literal>
94                         </para>
95                     </listitem>
96                     <listitem>
97                         <para>
98                             Si <varname>A</varname> est carrée et <varname>b</varname> est scalaire,
99                             alors <literal>A^b</literal> est la matrice
100                             <varname>A</varname> à la puissane <varname>b</varname>.
101                         </para>
102                     </listitem>
103                 </itemizedlist>
104             </para>
105         </refsect3>
106         <refsect3>
107             <title>Autres remarques</title>
108             <orderedlist>
109                 <listitem>
110                     <para>
111                         Si <varname>A</varname> est une matrice carrée, <literal>A^p</literal> est
112                         calculé par multiplications successives si <literal>p</literal> est un
113                         entier positif, et par diagonalisation sinon (détails en remarques n°2 et 3
114                         ci-dessous).
115                     </para>
116                 </listitem>
117                 <listitem>
118                     <para>
119                         If <varname>A</varname> is a square and Hermitian matrix and <literal>p</literal>
120                         is a non-integer scalar, <literal>A^p</literal> is computed as:
121                     </para>
122                     <para>
123                         <code>A^p = u*diag(diag(s).^p)*u'</code> (For real matrix <varname>A</varname>,
124                         only the real part of the answer is taken into account).
125                     </para>
126                     <para>
127                         <literal>u</literal> and <literal>s</literal> are determined by
128                         <code>[u,s] = schur(A)</code> .
129                     </para>
130                 </listitem>
131                 <listitem>
132                     <para>
133                         If <varname>A</varname> is not a Hermitian matrix and <literal>p</literal> is a
134                         non-integer scalar, <literal>A^p</literal> is computed as:
135                     </para>
136                     <para>
137                         <code>A^p = v*diag(diag(d).^p)*inv(v)</code> (For real matrix <varname>A</varname>,
138                         only the real part of the answer is taken into account).
139                     </para>
140                     <para>
141                         <literal>d</literal> and <literal>v</literal> are determined by
142                         <code>[d,v] = bdiag(A+0*%i)</code>.
143                     </para>
144                 </listitem>
145                 <listitem>
146                     <para>
147                         If <varname>A</varname> and <literal>p</literal> are real or complex numbers,
148                         <literal>A^p</literal> is the <emphasis>principal value</emphasis> determined by
149                     </para>
150                     <para>
151                         <code>A^p = exp(p*log(A))</code>
152                     </para>
153                     <para>
154                         (or <code>A^p = exp(p*(log(abs(A))+ %i*atan(imag(A)/real(A))))</code> ).
155                     </para>
156                 </listitem>
157                 <listitem>
158                     <para>
159                         If <varname>A</varname> is a square matrix and <literal>p</literal> is a real or
160                         complex number, <literal>A.^p</literal> is the <emphasis>principal value</emphasis>
161                         computed as:
162                     </para>
163                     <para>
164                         <code>A.^p = exp(p*log(A))</code> (same as case 4 above).
165                     </para>
166                 </listitem>
167                 <listitem>
168                     <para>
169                         Les opérateurs <literal>**</literal> et <literal>^</literal> sont équivalents.
170                     </para>
171                 </listitem>
172             </orderedlist>
173             <para>
174                 <warning>
175                     L'élévation à la puissance est associative à droite dans Scilab contrairement à
176                     Matlab® et Octave. Par exemple 2^3^4 est égal à 2^(3^4) dans Scilab mais est égal à
177                     (2^3)^4 dans Matlab® et Octave.
178                 </warning>
179             </para>
180         </refsect3>
181     </refsection>
182     <refsection>
183         <title>Exemples</title>
184         <programlisting role="example"><![CDATA[
185 A = [1 2 ; 3 4];
186 A ^ 2.5,
187 A .^ 2.5
188 (1:10) ^ 2
189 (1:10) .^ 2
190
191 A ^ %i
192 A .^ %i
193 exp(%i*log(A))
194
195 s = poly(0,'s')
196 s ^ (1:10)
197  ]]></programlisting>
198     </refsection>
199     <refsection role="see also">
200         <title>Voir aussi</title>
201         <simplelist type="inline">
202             <member>
203                 <link linkend="exp">exp</link>
204             </member>
205             <member>
206                 <link linkend="expm">expm</link>
207             </member>
208             <member>
209                 <link linkend="hat">hat</link>
210             </member>
211             <member>
212                 <link linkend="inv">inv</link>
213             </member>
214         </simplelist>
215     </refsection>
216     <refsection role="history">
217         <title>Historique</title>
218         <revhistory>
219             <revision>
220                 <revnumber>6.0.0</revnumber>
221                 <revdescription>
222                     Avec des nombres décimaux ou complexes, <literal>scalaire ^ matriceCarrée</literal>
223                     produit désormais <literal>expm(log(scalaire)*matriceCarrée)</literal> au lieu
224                     de <literal>scalaire .^ matriceCarrée</literal>.
225                 </revdescription>
226             </revision>
227         </revhistory>
228     </refsection>
229 </refentry>