Bug fixes:
==========
+* bug 3643 fixed - Scilab spec function is the equivalent of Matlab function
+ (mtlb_eig is now obsolete).
+
* bug 3944 fixed - ilib_mex_build() wasn't using the content of the
variable tables to compile other files
* bug 3945 fixed - Error with the help example of library()
</refnamediv>
<refsection>
<title>Description</title>
- <para>Matlab <literal>eig</literal> and Scilab <literal>spec</literal> behave differently in some particular cases:</para>
- <itemizedlist>
- <listitem>
- <para>
- With one input (A) and two outputs (V,D), Matlab and Scilab returned eigen values have opposite signs.
- </para>
- </listitem>
- </itemizedlist>
- <para>
- The function <literal>[V,D] = mtlb_eig(A)</literal> is used by
- <literal>mfile2sci</literal> to replace <literal>>[V,D] = eig(A)</literal>.
- This function will determine the correct semantic at run time. There is no replacement possibility for it.
- </para>
- <para>Caution: <literal>mtlb_eig</literal> has not to be used for hand coded functions.</para>
+ <para>WARNING: This function is obsolete and will be removed in version 5.1.2, please use <link linkend="spec">spec</link> instead.</para>
+ </refsection>
+ <refsection>
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="spec">spec</link>
+ </member>
+ </simplelist>
</refsection>
<refsection>
<title>Authors</title>
</refnamediv>
<refsection>
<title>Description</title>
- <para>Dans plusieurs cas particuliers, les fonctions <literal>eig</literal> de Matlab et <literal>spec</literal>
- de Scilab se comportent différemment :</para>
- <itemizedlist>
- <listitem>
- <para>
- Avec un argument d'entrée (<literal>A</literal>) et deux arguments de sortie (<literal>V</literal>,<literal>D</literal>),
- les valeurs obtenues dans Scilab et dans Matlab sont de signe opposé.
- </para>
- </listitem>
- </itemizedlist>
- <para>
- La fonction <literal>[V,D] = mtlb_eig(A,B)</literal> est utilisée par
- <literal>mfile2sci</literal> pour remplacer <literal>[V,D] = eig(A)</literal>. Cette fonction va
- déterminer la sémantique correcte pendant l'exécution. Elle ne peut être remplacée.
- </para>
- <para>Attention : <literal>mtlb_eig</literal> ne doit pas être utilisée pour une programmation manuelle.</para>
+ <para>ATTENTION: Cette fonction est obsolète et sera retirée dans la version 5.1.2, veuillez utiliser <link linkend="spec">spec</link> en remplacement.</para>
+ </refsection>
+ <refsection>
+ <title>Voir aussi</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="spec">spec</link>
+ </member>
+ </simplelist>
</refsection>
<refsection>
<title>Auteurs</title>
function [vd,D]=mtlb_eig(A,B)
// Emulation function for eig() Matlab function
+warnobsolete("spec", "5.1.2")
+
[lhs,rhs]=argn()
if rhs==1 then
vd=spec(A)
else
[vd,D]=spec(A)
- if isreal(vd,0) & size(vd,"*")>1 then
- vd(:,1:2)=-vd(:,1:2)
- end
end
else
error(msprintf(gettext("%s: use with %d input argument(s) is not yet implemented.\n"),"mtlb_eig",2));
// Conversion function for Matlab eig()
// Input: tree = Matlab funcall tree
// Ouput: tree = Scilab equivalent for tree
-// Emulation function: mtlb_eig()
// eig(A)
if rhs==1 then
A = convert2double(A)
tree.rhs=Rhs_tlist(A)
+ tree.name="spec"
+
// d = eig(A)
if lhs==1 then
- tree.name="spec"
tree.lhs(1).dims=list(A.dims(1),1)
tree.lhs(1).type=Type(Double,Unknown)
// [V,D] = eig(A)
else
- set_infos(msprintf(gettext("mtlb_eig() called because Scilab and Matlab value do not always match for %s."),tree.lhs(1).name),0)
- tree.name="mtlb_eig"
tree.lhs(1).dims=list(A.dims(1),A.dims(1))
tree.lhs(1).type=Type(Double,Unknown)
tree.lhs(2).dims=list(A.dims(1),A.dims(1))
<title>Particular cases</title>
<variablelist>
<varlistentry>
- <term>eig(A)</term>
- <listitem>
- <para>
-Scilab equivalent for <emphasis role="bold">eig(A)</emphasis> is <emphasis role="bold">spec(A)</emphasis>. Scilab eigen vector matrix can differ from Matlab one...
-</para>
- </listitem>
- </varlistentry>
- <varlistentry>
<term>eig(A,'nobalance')</term>
<listitem>
- <para>
-There is no Scilab equivalent for <emphasis role="bold">'nobalance'</emphasis> option. See examples...
-</para>
+ <para>There is no Scilab equivalent for <emphasis role="bold">'nobalance'</emphasis> option. See examples...</para>
</listitem>
</varlistentry>
<varlistentry>
<term>eig(A,B,flag)</term>
<listitem>
- <para>
-There is no Scilab equivalent for <emphasis role="bold">flag</emphasis>.
-</para>
+ <para>There is no Scilab equivalent for <emphasis role="bold">flag</emphasis>.</para>
</listitem>
</varlistentry>
</variablelist>