gschur() was declared obsolete in Scilab 4, now removed
[scilab.git] / scilab / modules / functions / help / fr_FR / built_in / external.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="external">
3     <refnamediv>
4         <refname>external</refname>
5         <refpurpose>Objet Scilab, fonction externe ou routine  </refpurpose>
6     </refnamediv>
7     <refsection role="description">
8         <title>Description</title>
9         <para>
10             Fonction ou routine externe nécessitée par des commandes particulières.
11         </para>
12         <para>
13             Un "external" est une fonction ou une routine qui est utilisée comme argument d'une
14             "primitive de haut niveau", telle que <literal>ode</literal>, <literal>optim</literal>, <literal>schur</literal>...
15         </para>
16         <para>
17             La séquence d'appel de la fonction ou de la routine est en général imposée
18             par la primitive de haut niveau qui impose en particulier les arguments d'entrée.
19         </para>
20         <para>
21             Par exemple la fonction externe <literal>costfunc</literal> est un argument de la primitive <literal>optim</literal>.
22             Sa séquence d'appel doit être de la forme : <literal>[f,g,ind]=costfunc(x,ind)</literal> et 
23             <literal>optim</literal> (primitive permettant de résoudre des problèmes d'optimisation) est invoquée ainsi :
24         </para>
25         <programlisting><![CDATA[ 
26 optim(costfunc,...)
27  ]]></programlisting>
28         <para>
29             Ici <literal>costfunc</literal> (la fonction coût à minimiser avec <literal>optim</literal>)
30             calcule <literal>f=f(x)</literal> et <literal>g=</literal> le gradient de <literal>f</literal> en <literal>x</literal> (<literal>ind</literal> est un entier dont l'usage est précisé dans l'aide de <literal>optim</literal>).
31         </para>
32         <para>
33             Si d'autres variables sont nécessaires à la fonction externe, ces variables
34             peuvent être définies dans son environnement. Elles peuvent aussi être stockées dans une liste :
35             par exemple
36         </para>
37         <programlisting><![CDATA[ 
38 [f,g,ind]=costfunc(x,ind,a,b,c) 
39  ]]></programlisting>
40         <para>
41             est valide pour <literal>optim</literal> si <literal>costfunc</literal> est remplacé par <literal>list(costfunc,a,b,c)</literal>. 
42             La séquence d'appel à <literal>optim</literal> est donc maintenant :
43         </para>
44         <programlisting><![CDATA[ 
45 optim(list(costfunc,a1,b1,c1),....
46  ]]></programlisting>
47         <para>
48             Un "external" peut aussi être une routine Fortran ou C : cela peut permettre d'accélérer les calculs.
49         </para>
50         <para>
51             Le nom de la routine est donné comme argument à la primitive de haut niveau sous forme d'une
52             chaîne de caractères. La séquence d'appel est aussi imposée. 
53         </para>
54         <para>
55             Les routines externes Fortran ou C peuvent aussi être liées dynamiquement (voir <literal>link</literal>).
56         </para>
57     </refsection>
58     <refsection role="see also">
59         <title>Voir aussi</title>
60         <simplelist type="inline">
61             <member>
62                 <link linkend="ode">ode</link>
63             </member>
64             <member>
65                 <link linkend="optim">optim</link>
66             </member>
67             <member>
68                 <link linkend="impl">impl</link>
69             </member>
70             <member>
71                 <link linkend="dassl">dassl</link>
72             </member>
73             <member>
74                 <link linkend="intg">intg</link>
75             </member>
76             <member>
77                 <link linkend="schur">schur</link>
78             </member>
79         </simplelist>
80     </refsection>
81 </refentry>