[doc] ineqality comparisons with [] now return [] 34/20034/3
Samuel GOUGEON [Sun, 20 May 2018 15:24:27 +0000 (17:24 +0200)]
  * In "help empty",
    - the following informations were wrong and are fixed
       cond([]) = 1
       rcond([]) = 1
    - informations about inv([]), det([]), cond([]), rcond([]), rank([])
      are moved to the dedicated pages.
    - See also improved (more relevant and complete).
    - History updated (and copied in non en_US pages)
  * cond([]) will be documented in a separate commit when
    http://bugzilla.scilab.org/15579 will be fixed (or stated).
  * det([]) will be documented apart. It changed in Scilab 6.
  * less.xml: History updated.

Change-Id: Iba49ba270fd1cae4a5f4b1263424f57ad19a5b0a

28 files changed:
scilab/CHANGES.md
scilab/modules/compatibility_functions/help/en_US/mtlb_logic.xml
scilab/modules/compatibility_functions/help/fr_FR/mtlb_logic.xml
scilab/modules/core/help/en_US/1_keywords/less.xml
scilab/modules/core/help/ja_JP/1_keywords/less.xml
scilab/modules/core/help/pt_BR/1_keywords/less.xml
scilab/modules/core/help/ru_RU/1_keywords/less.xml
scilab/modules/elementary_functions/help/en_US/elementarymatrices/empty.xml
scilab/modules/elementary_functions/help/en_US/matrixoperations/norm.xml
scilab/modules/elementary_functions/help/fr_FR/elementarymatrices/empty.xml
scilab/modules/elementary_functions/help/fr_FR/matrixoperations/norm.xml
scilab/modules/elementary_functions/help/ja_JP/elementarymatrices/empty.xml
scilab/modules/elementary_functions/help/ja_JP/matrixoperations/norm.xml
scilab/modules/elementary_functions/help/pt_BR/elementarymatrices/empty.xml
scilab/modules/elementary_functions/help/pt_BR/matrixoperations/norm.xml
scilab/modules/elementary_functions/help/ru_RU/elementarymatrices/empty.xml
scilab/modules/elementary_functions/help/ru_RU/matrixoperations/norm.xml
scilab/modules/linear_algebra/help/en_US/linear/inv.xml
scilab/modules/linear_algebra/help/en_US/matrix/rank.xml
scilab/modules/linear_algebra/help/en_US/matrix/rcond.xml
scilab/modules/linear_algebra/help/fr_FR/linear/inv.xml
scilab/modules/linear_algebra/help/fr_FR/matrix/rank.xml
scilab/modules/linear_algebra/help/fr_FR/matrix/rcond.xml
scilab/modules/linear_algebra/help/ja_JP/linear/inv.xml
scilab/modules/linear_algebra/help/ja_JP/matrix/rank.xml
scilab/modules/linear_algebra/help/ja_JP/matrix/rcond.xml
scilab/modules/linear_algebra/help/pt_BR/linear/inv.xml
scilab/modules/linear_algebra/help/pt_BR/matrix/rank.xml

index d838405..514bbd1 100644 (file)
@@ -118,8 +118,8 @@ See [the wiki page on porting code from 5.5 to 6.0](https://wiki.scilab.org/From
 * Declaring strings using non-homogenous delimiters ("string' or 'string") is no longer allowed.
 * `(a=b)` executed as `a == b` is now deprecated and returns an error.
 * Function definitions can finish with `end` instead of `endfunction`.
-* `{}` and `[]` are now distinct operators. Matrices can no longer be defined using `{}` operators.
-These are reserved for cell definition.
+* `{}` and `[]` are now distinct operators. Matrices can no longer be defined using `{}` operators. These are reserved for cell definition.
+* Addition, subtraction, and inequality comparisons `<` `<=` `>=` `>` with an empty matrix now returns an empty matrix.
 * New `&&` and `||` boolean AND and OR operators are introduced. They are shortcut in expressions even out of conditional tests, like `A = [1 %pi] || det([1 2])`
 * Syntax `%i:10` is now deprecated (only real scalars can be used).
 * Control and block keywords `break` `case` `catch` `continue` `do` `else` `elseif` `end` endfunction` `for` `function` `if` `resume` `return` `select` `then` `try` and `while` can no longer be overloaded as regular assignable variables as in `end=1`. They are now reserved and protected.
@@ -139,7 +139,6 @@ These are reserved for cell definition.
 Feature changes and additions
 -----------------------------
 
-* Addition or subtraction with an empty matrix now returns an empty matrix.
 * `scatter/scatter3` plot with different mark colors is now available.
 * `parulacolormap` is now available.
 * `name2rgb` can now handle a single string and a matrix of strings.
@@ -253,7 +252,7 @@ Help pages:
   `printf`, `sprintf`, `iconvert`, `stdev`, `xlabel`, `and_op`, `or_op`, `permute`, `tree2code`, `%helps`,
   `scilab`, `flipdim`, `Matplot_properties`, `text_properties`, `meshgrid`, `ismatrix`, `xget`, `xset`, `ieee`, `evstr`,
   `uigetfont`, `uigetdir`, `uigetfile`, `uiputfile`, `cat`, `makecell`, `xstring`, `norm`, `barhomogenize`,
-  `colordef`, `matrix`, `coffg`, `diag`, `speye`, `sparse`, `recursionlimit`, `for`, `fileinfo`, `end`, `iconvert`, `Globalproperty`, `unique`, `intdec`, `plus`, `minus`, `varn`, `savematfile`
+  `colordef`, `matrix`, `coffg`, `diag`, `speye`, `sparse`, `recursionlimit`, `for`, `fileinfo`, `end`, `iconvert`, `Globalproperty`, `unique`, `intdec`, `plus`, `minus`, `varn`, `savematfile`, `empty`
 * rewritten: `consolebox`, `double`, `isoview`, `pixel_drawing_mode`, `householder`, `or`, `|,||`,
  `and`, `&,&&`, `format`, `type`, `typeof`, `brackets`, `setlanguage`, `sleep`, `isinf`, `unique`,
  `bitor`, `bitxor`, `bitand`, `macr2tree`, `geomean`, `clf`, `getPreferencesValue`, `gcd`, `lcm`, `isglobal`,
index 6c82b08..a6b9463 100644 (file)
         <itemizedlist>
             <listitem>
                 <para>
-                    With complex operands: The <literal>&lt;</literal>, <literal>&lt;=</literal>, <literal>&gt;</literal> and <literal>&gt;=</literal>
+                    With complex operands: The <literal>&lt;</literal>, <literal>&lt;=</literal>,
+                    <literal>&gt;</literal> and <literal>&gt;=</literal>
                     operators can not be used into Scilab with complex operands, while
                     in Matlab they can. And in this case, only real part of complex operands is compared.
                 </para>
             </listitem>
             <listitem>
                 <para>
-                    With empty matrices: If both operands of <literal>&lt;</literal>, <literal>&lt;=</literal>,
-                    <literal>&gt;</literal> and <literal>&gt;=</literal>
-                    operators are empty matrices, Scilab returns an error message, while
-                    Matlab returns an empty matrix. For operators <literal>==</literal> and <literal>~=</literal>,
-                    if at least one operand is an empty matrix, Matlab returns [] while Scilab returns a boolean value %T or %F.
+                    With empty matrices: For operators <literal>==</literal> and <literal>~=</literal>,
+                    if at least one operand is an empty matrix, Matlab returns [] while Scilab returns
+                    a boolean value %T or %F.
                 </para>
             </listitem>
         </itemizedlist>
         <para>
             The function <literal>mtlb_logic(A,symbol,B)</literal> (with "symbol" a character string
-            containing the operator symbol) is used by
-            <literal>mfile2sci</literal> to replace <literal>A symbol B</literal> when it was not
-            possible to know what were the operands while porting Matlab code to Scilab. This function will
-            determine the correct semantic at run time. If you want to have a
-            more efficient code it is possible to replace <literal>mtlb_logic</literal> calls:
+            containing the operator symbol) is used by <literal>mfile2sci</literal> to replace
+            <literal>A symbol B</literal> when it was not  possible to know what were the operands
+            while porting Matlab code to Scilab. This function will determine the correct semantic
+            at run time. If you want to have a  more efficient code it is possible to replace
+            <literal>mtlb_logic</literal> calls:
         </para>
         <itemizedlist>
             <listitem>
                 <para>
-                    If both <literal>A</literal> and <literal>B</literal> are not complex values nor empty matrices
-                    <literal>mtlb_logic(A,symbol,B)</literal> may be replaced by <literal>A symbol B</literal>.
+                    If both <literal>A</literal> and <literal>B</literal> are not complex values
+                    nor empty matrices <literal>mtlb_logic(A,symbol,B)</literal> may be replaced
+                    by <literal>A symbol B</literal>.
                 </para>
             </listitem>
         </itemizedlist>
index 78233c6..9ebae7d 100644 (file)
     </refnamediv>
     <refsection>
         <title>Description</title>
-        <para>Dans plusieurs cas particuliers, les opérateurs logiques se comportent différemment dans Matlab et dans Scilab :</para>
+        <para>Dans plusieurs cas particuliers, les opérateurs logiques se comportent différemment
+              dans Matlab et dans Scilab :</para>
         <itemizedlist>
             <listitem>
                 <para>
-                    Avec des opérandes complexes : Les opérateurs <literal>&lt;</literal>, <literal>&lt;=</literal>,
-                    <literal>&gt;</literal> et <literal>&gt;=</literal> ne peuvent pas être utilisés dans Scilab
-                    avec des opérandes complexes alors que cela est possible dans Matlab. Dans ce cas,
-                    seule la partie réelle des opérandes est comparée.
+                    Avec des opérandes complexes : Les opérateurs <literal>&lt;</literal>,
+                    <literal>&lt;=</literal>, <literal>&gt;</literal> et <literal>&gt;=</literal>
+                    ne peuvent pas être utilisés dans Scilab avec des opérandes complexes alors que
+                    cela est possible dans Matlab. Dans ce cas, seule la partie réelle des opérandes
+                    est comparée.
                 </para>
             </listitem>
             <listitem>
                 <para>
-                    Avec des matrices vides : Si les deux opérandes des opérateurs <literal>&lt;</literal>, <literal>&lt;=</literal>,
-                    <literal>&gt;</literal> and <literal>&gt;=</literal> sont des matrices vides, Scilab renvoie un message d'erreur
-                    alors que Matlab retourne une matrice vide. Pour les opérateurs <literal>==</literal> et <literal>~=</literal>,
-                    si au moins une opérande est une matrice vide alors Matlab renvoie [] alors que Scilab
-                    retourne un booléen %T ou %F.
+                    Avec des matrices vides : Pour les opérateurs <literal>==</literal> et
+                    <literal>~=</literal>,  si au moins un opérande est une matrice vide alors
+                    Matlab renvoie [] alors que Scilab retourne un booléen %T ou %F.
                 </para>
             </listitem>
         </itemizedlist>
         <para>
-            La fonction <literal>mtlb_logic(A,symbol,B)</literal> (avec "symbol" une chaîne de caractères contenant
-            le symbole de l'opérateur) est utilisée par
-            <literal>mfile2sci</literal> pour remplacer <literal>A symbol B</literal> quand il n'était pas
-            possible de savoir ce qu'étaient les opérandes pendant la conversion d'un code Matlab vers Scilab. Cette fonction va
-            déterminer la sémantique correcte pendant l'exécution. Pour obtenir un code plus performant
-            on peut remplacer les appels à <literal>mtlb_logic</literal> :
+            La fonction <literal>mtlb_logic(A,symbol,B)</literal> (avec "symbol" une chaîne de
+            caractères contenant le symbole de l'opérateur) est utilisée par
+            <literal>mfile2sci</literal> pour remplacer <literal>A symbol B</literal> quand il
+            n'était pas possible de savoir ce qu'étaient les opérandes pendant la conversion d'un
+            code Matlab vers Scilab. Cette fonction va déterminer la sémantique correcte pendant
+            l'exécution. Pour obtenir un code plus performant on peut remplacer les appels à
+            <literal>mtlb_logic</literal> :
         </para>
         <itemizedlist>
             <listitem>
                 <para>
-                    Si <literal>A</literal> et <literal>B</literal> ne sont pas des complexes ni des matrices vides
-                    <literal>mtlb_logic(A,symbol,B)</literal> peut être remplacé par <literal>A symbol B</literal>
+                    Si <literal>A</literal> et <literal>B</literal> ne sont pas des complexes ni
+                    des matrices vides <literal>mtlb_logic(A,symbol,B)</literal> peut être remplacé
+                    par <literal>A symbol B</literal>
                 </para>
             </listitem>
         </itemizedlist>
         <para>
             <warning>
-                Attention : <literal>mtlb_logic</literal> ne doit pas être utilisée pour une programmation manuelle.
+                Attention : <literal>mtlb_logic</literal> ne doit pas être utilisée pour une
+                programmation manuelle.
             </warning>
         </para>
     </refsection>
index 776f2eb..8c91cc8 100644 (file)
             <revision>
                 <revnumber>6.0</revnumber>
                 <revdescription>
+                  <listitem>
                     <literal>~</literal> (not)'s priority is now higher than <literal>&lt;</literal>,
                     <literal>&lt;=</literal>, <literal>></literal> and <literal>>=</literal> one.
                     For instance, <literal>~3&lt;1</literal> is parsed as <literal>(~3)&lt;1</literal>
                     instead of <literal>~(3&lt;1)</literal> and now yields an error instead of
                     <literal>%T</literal>.
+                  </listitem>
+                  <listitem>
+                    <literal> A>[] </literal>, <literal> A>=[] </literal>,
+                    <literal> A&lt;[] </literal>, <literal> A&lt;=[] </literal>,
+                    <literal> []>A </literal>, <literal> []>=A </literal>,
+                    <literal> []&lt;A </literal>, and <literal> []&lt;=A </literal> now return
+                    <literal> [] </literal> instead of an error.
+                  </listitem>
                 </revdescription>
             </revision>
         </revhistory>
index 4f17dda..5fcd358 100644 (file)
             <revision>
                 <revnumber>6.0</revnumber>
                 <revdescription>
+                  <listitem>
                     <literal>~</literal> (not) priority is now higher than <literal>&lt;</literal>,
                     <literal>&lt;=</literal>, <literal>></literal> and <literal>>=</literal>one.
                     For instance, <literal>~3&lt;1</literal> is parsed as <literal>(~3)&lt;1</literal>
                     instead of <literal>~(3&lt;1)</literal> and now yields an error instead of
                     <literal>%T</literal>.
+                  </listitem>
+                  <listitem>
+                    <literal> A>[] </literal>, <literal> A>=[] </literal>,
+                    <literal> A&lt;[] </literal>, <literal> A&lt;=[] </literal>,
+                    <literal> []>A </literal>, <literal> []>=A </literal>,
+                    <literal> []&lt;A </literal>, and <literal> []&lt;=A </literal> now return
+                    <literal> [] </literal> instead of an error.
+                  </listitem>
                 </revdescription>
             </revision>
         </revhistory>
index d9a08d1..bcad589 100644 (file)
             <revision>
                 <revnumber>6.0</revnumber>
                 <revdescription>
+                  <listitem>
                     <literal>~</literal> (not) priority is now higher than <literal>&lt;</literal>,
                     <literal>&lt;=</literal>, <literal>></literal> and <literal>>=</literal>one.
                     For instance, <literal>~3&lt;1</literal> is parsed as <literal>(~3)&lt;1</literal>
                     instead of <literal>~(3&lt;1)</literal> and now yields an error instead of
                     <literal>%T</literal>.
+                  </listitem>
+                  <listitem>
+                    <literal> A>[] </literal>, <literal> A>=[] </literal>,
+                    <literal> A&lt;[] </literal>, <literal> A&lt;=[] </literal>,
+                    <literal> []>A </literal>, <literal> []>=A </literal>,
+                    <literal> []&lt;A </literal>, and <literal> []&lt;=A </literal> now return
+                    <literal> [] </literal> instead of an error.
+                  </listitem>
                 </revdescription>
             </revision>
         </revhistory>
index d21e258..a0b036b 100644 (file)
             <revision>
                 <revnumber>6.0</revnumber>
                 <revdescription>
-                    <literal>~</literal> (отрицание) сейчас имеет приоритет выше, чем операции
-                    <literal>&lt;</literal>, <literal>&lt;=</literal>, <literal>></literal> и <literal>>=</literal>.
-                    Например, <literal>~3&lt;1</literal> рассматривается как <literal>(~3)&lt;1</literal>,
-                    а не <literal>~(3&lt;1)</literal> и сейчас выдаётся ошибка вместо <literal>%T</literal>.
+                  <listitem>
+                    <literal>~</literal> (not) priority is now higher than <literal>&lt;</literal>,
+                    <literal>&lt;=</literal>, <literal>></literal> and <literal>>=</literal>one.
+                    For instance, <literal>~3&lt;1</literal> is parsed as <literal>(~3)&lt;1</literal>
+                    instead of <literal>~(3&lt;1)</literal> and now yields an error instead of
+                    <literal>%T</literal>.
+                  </listitem>
+                  <listitem>
+                    <literal> A>[] </literal>, <literal> A>=[] </literal>,
+                    <literal> A&lt;[] </literal>, <literal> A&lt;=[] </literal>,
+                    <literal> []>A </literal>, <literal> []>=A </literal>,
+                    <literal> []&lt;A </literal>, and <literal> []&lt;=A </literal> now return
+                    <literal> [] </literal> instead of an error.
+                  </listitem>
                 </revdescription>
             </revision>
         </revhistory>
index adbbeb6..aef00a5 100644 (file)
@@ -1,5 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<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="en" xml:id="empty">
+<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="en" xml:id="empty">
     <refnamediv>
         <refname>empty</refname>
         <refpurpose>([]) empty matrix</refpurpose>
             <literal> [ [], A] = [A, []] = A </literal>
         </para>
         <para>
-            <literal> inv([]) = [] </literal>
-        </para>
-        <para>
-            <literal> det([]) = cond([]) = rcond([]) = 1</literal>
-        </para>
-        <para>
-            <literal> rank([]) = 0 </literal>
-        </para>
-        <para>
             Matrix functions return <literal>[]</literal> or an error message
             when there is no obvious answer. Empty linear systems
             (<literal> syslin</literal> lists) may have several rows or columns.
@@ -53,22 +47,22 @@ size(wr), w1=ss2tf(wr), size(w1)
         <title>See also</title>
         <simplelist type="inline">
             <member>
-                <link linkend="matrices">matrices</link>
+                <link linkend="null">null</link>
             </member>
             <member>
-                <link linkend="poly">poly</link>
+                <link linkend="isempty">isempty</link>
             </member>
             <member>
-                <link linkend="string">string</link>
+                <link linkend="emptystr">emptystr</link>
             </member>
             <member>
-                <link linkend="boolean">boolean</link>
+                <link linkend="brackets">brackets</link>
             </member>
             <member>
-                <link linkend="rational">rational</link>
+                <link linkend="symbols">operators</link>
             </member>
             <member>
-                <link linkend="syslin">syslin</link>
+                <link linkend="matrices">matrices</link>
             </member>
         </simplelist>
     </refsection>
@@ -78,7 +72,21 @@ size(wr), w1=ss2tf(wr), size(w1)
             <revision>
                 <revnumber>6.0.0</revnumber>
                 <revremark>
-                    Modified the behaviour of <literal>A+ []</literal> to be the empty matrix <literal>[]</literal> instead of <literal>A</literal>
+                    <itemizedlist>
+                      <listitem>
+                          <literal>A+[]</literal>, <literal>[]+A</literal> and <literal>A-[]</literal>
+                          now return <literal>[]</literal> instead of <literal>A</literal>.
+                          <literal>[]-A</literal> now returns <literal>[]</literal> instead of
+                          <literal>-A</literal>.
+                      </listitem>
+                      <listitem>
+                         <literal> A>[] </literal>, <literal> A>=[] </literal>,
+                         <literal> A&lt;[] </literal>, <literal> A&lt;=[] </literal>,
+                         <literal> []>A </literal>, <literal> []>=A </literal>,
+                         <literal> []&lt;A </literal>, and <literal> []&lt;=A </literal> now return
+                         <literal> [] </literal> instead of an error.
+                      </listitem>
+                    </itemizedlist>
                 </revremark>
             </revision>
         </revhistory>
index 5109384..196e555 100644 (file)
                 </listitem>
             </varlistentry>
         </variablelist>
+      <para>For [] :</para>
+      <para>
+        <literal>norm([])</literal> and <literal>norm([],p)</literal> return 0.
+      </para>
     </refsection>
     <refsection>
         <title>Examples</title>
index e2493a2..db82779 100644 (file)
             <literal> [ [], A] = [A, []] = A </literal>
         </para>
         <para>
-            <literal> inv([]) = [] </literal>
-        </para>
-        <para>
-            <literal> det([]) = cond([]) = rcond([]) = 1</literal>
-        </para>
-        <para>
-            <literal> rank([]) = 0 </literal>
-        </para>
-        <para>
             Les fonctions matricielles renvoient <literal>[]</literal> ou un message d'erreur
             quand il n'y pas de réponse évidente. Les systèmes dynamiques linéaires
             (listes de type <literal>syslin</literal>) peuvent avoir plusieurs lignes ou colonnes.
@@ -53,23 +44,48 @@ size(wr), w1=ss2tf(wr), size(w1)
         <title>Voir aussi</title>
         <simplelist type="inline">
             <member>
-                <link linkend="matrices">matrices</link>
+                <link linkend="null">null</link>
             </member>
             <member>
-                <link linkend="poly">poly</link>
+                <link linkend="isempty">isempty</link>
             </member>
             <member>
-                <link linkend="string">string</link>
+                <link linkend="emptystr">emptystr</link>
             </member>
             <member>
-                <link linkend="boolean">boolean</link>
+                <link linkend="brackets">crochets []</link>
             </member>
             <member>
-                <link linkend="rational">rational</link>
+                <link linkend="symbols">opérateurs</link>
             </member>
             <member>
-                <link linkend="syslin">syslin</link>
+                <link linkend="matrices">matrices</link>
             </member>
         </simplelist>
     </refsection>
+    <refsection>
+        <title>Historique</title>
+        <revhistory>
+            <revision>
+                <revnumber>6.0.0</revnumber>
+                <revremark>
+                    <itemizedlist>
+                      <listitem>
+                          <literal>A+[]</literal>, <literal>[]+A</literal> et <literal>A-[]</literal>
+                          produisent désormais <literal>[]</literal> au lieu de <literal>A</literal>.
+                          <literal>[]-A</literal> produit <literal>[]</literal> au lieu de
+                          <literal>-A</literal>.
+                      </listitem>
+                      <listitem>
+                         <literal> A>[] </literal>, <literal> A>=[] </literal>,
+                         <literal> A&lt;[] </literal>, <literal> A&lt;=[] </literal>,
+                         <literal> []>A </literal>, <literal> []>=A </literal>,
+                         <literal> []&lt;A </literal>, et <literal> []&lt;=A </literal> produisent
+                         désormais <literal> [] </literal> au lieu d'une erreur.
+                      </listitem>
+                    </itemizedlist>
+                </revremark>
+            </revision>
+        </revhistory>
+    </refsection>
 </refentry>
index 3003a05..ea75e57 100644 (file)
                 </listitem>
             </varlistentry>
         </variablelist>
+
+      <para>Avec [] :</para>
+      <para>
+        <literal>norm([])</literal> et <literal>norm([],p)</literal> valent 0.
+      </para>
     </refsection>
     <refsection>
         <title>Exemples</title>
index b55b94a..591c8ef 100644 (file)
             <literal> [ [], A] = [A, []] = A </literal>
         </para>
         <para>
-            <literal> inv([]) = [] </literal>
-        </para>
-        <para>
-            <literal> det([]) = cond([]) = rcond([]) = 1</literal>
-        </para>
-        <para>
-            <literal> rank([]) = 0 </literal>
-        </para>
-        <para>
             明示的な答えがない場合,行列関数は <literal>[]</literal> またはエラーメッセージを
             返します. 空の線形システム
             (<literal> syslin</literal> リスト) は複数の行または列を有する可能性があります.
@@ -50,23 +41,49 @@ w=ssrand(2,2,2); wr=[]*w; size(wr), w1=ss2tf(wr), size(w1)
         <title>参照</title>
         <simplelist type="inline">
             <member>
-                <link linkend="matrices">matrices</link>
+                <link linkend="null">null</link>
             </member>
             <member>
-                <link linkend="poly">poly</link>
+                <link linkend="isempty">isempty</link>
             </member>
             <member>
-                <link linkend="string">string</link>
+                <link linkend="emptystr">emptystr</link>
             </member>
             <member>
-                <link linkend="boolean">boolean</link>
+                <link linkend="brackets">brackets</link>
             </member>
             <member>
-                <link linkend="rational">rational</link>
+                <link linkend="symbols">operators</link>
             </member>
             <member>
-                <link linkend="syslin">syslin</link>
+                <link linkend="matrices">matrices</link>
             </member>
         </simplelist>
     </refsection>
+
+    <refsection>
+        <title>履歴</title>
+        <revhistory>
+            <revision>
+                <revnumber>6.0.0</revnumber>
+                <revremark>
+                    <itemizedlist>
+                      <listitem>
+                          <literal>A+[]</literal>, <literal>[]+A</literal> and <literal>A-[]</literal>
+                          now return <literal>[]</literal> instead of <literal>A</literal>.
+                          <literal>[]-A</literal> now returns <literal>[]</literal> instead of
+                          <literal>-A</literal>.
+                      </listitem>
+                      <listitem>
+                         <literal> A>[] </literal>, <literal> A>=[] </literal>,
+                         <literal> A&lt;[] </literal>, <literal> A&lt;=[] </literal>,
+                         <literal> []>A </literal>, <literal> []>=A </literal>,
+                         <literal> []&lt;A </literal>, and <literal> []&lt;=A </literal> now return
+                         <literal> [] </literal> instead of an error.
+                      </listitem>
+                    </itemizedlist>
+                </revremark>
+            </revision>
+        </revhistory>
+    </refsection>
 </refentry>
index b120a15..5c13c97 100644 (file)
                 </listitem>
             </varlistentry>
         </variablelist>
+
+      <para>For [] :</para>
+      <para>
+        <literal>norm([])</literal> and <literal>norm([],p)</literal> return 0.
+      </para>
     </refsection>
     <refsection>
         <title>例</title>
index 077c92d..e62226f 100644 (file)
@@ -1,5 +1,8 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<refentry 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" xmlns:scilab="http://www.scilab.org" xml:id="empty" xml:lang="pt">
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry 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"
+          xmlns:scilab="http://www.scilab.org" xml:id="empty" xml:lang="pt">
     <refnamediv>
         <refname>empty</refname>
         <refpurpose>([]) matriz vazia</refpurpose>
             <literal> [ [], A] = [A, []] = A </literal>
         </para>
         <para>
-            <literal> inv([]) = [] </literal>
-        </para>
-        <para>
-            <literal> det([]) = cond([]) = rcond([]) = 1</literal>
-        </para>
-        <para>
-            <literal> rank([]) = 0 </literal>
-        </para>
-        <para>
             Funções de matrizes retornam <literal>[]</literal> ou produzem uma
             mensagem de erro quando não há resposta óbvia. Sistemas lineares vazios
             (listas<literal> syslin</literal>) podem ter várias linhas ou
@@ -55,23 +49,48 @@ size(wr), w1=ss2tf(wr), size(w1)
         <title>Ver Também</title>
         <simplelist type="inline">
             <member>
-                <link linkend="matrices">matrices</link>
+                <link linkend="null">null</link>
             </member>
             <member>
-                <link linkend="poly">poly</link>
+                <link linkend="isempty">isempty</link>
             </member>
             <member>
-                <link linkend="string">string</link>
+                <link linkend="emptystr">emptystr</link>
             </member>
             <member>
-                <link linkend="boolean">boolean</link>
+                <link linkend="brackets">brackets</link>
             </member>
             <member>
-                <link linkend="rational">rational</link>
+                <link linkend="symbols">operators</link>
             </member>
             <member>
-                <link linkend="syslin">syslin</link>
+                <link linkend="matrices">matrices</link>
             </member>
         </simplelist>
     </refsection>
+    <refsection>
+        <title>Histórico</title>
+        <revhistory>
+            <revision>
+                <revnumber>6.0.0</revnumber>
+                <revremark>
+                    <itemizedlist>
+                      <listitem>
+                          <literal>A+[]</literal>, <literal>[]+A</literal> and <literal>A-[]</literal>
+                          now return <literal>[]</literal> instead of <literal>A</literal>.
+                          <literal>[]-A</literal> now returns <literal>[]</literal> instead of
+                          <literal>-A</literal>.
+                      </listitem>
+                      <listitem>
+                         <literal> A>[] </literal>, <literal> A>=[] </literal>,
+                         <literal> A&lt;[] </literal>, <literal> A&lt;=[] </literal>,
+                         <literal> []>A </literal>, <literal> []>=A </literal>,
+                         <literal> []&lt;A </literal>, and <literal> []&lt;=A </literal> now return
+                         <literal> [] </literal> instead of an error.
+                      </listitem>
+                    </itemizedlist>
+                </revremark>
+            </revision>
+        </revhistory>
+    </refsection>
 </refentry>
index 6d0568e..c239dd0 100644 (file)
                 </listitem>
             </varlistentry>
         </variablelist>
+
+      <para>For [] :</para>
+      <para>
+        <literal>norm([])</literal> and <literal>norm([],p)</literal> return 0.
+      </para>
     </refsection>
     <refsection>
         <title>Exemplos</title>
index fa00a72..6a9bcc2 100644 (file)
             <literal> [ [], A] = [A, []] = A </literal>
         </para>
         <para>
-            <literal> inv([]) = [] </literal>
-        </para>
-        <para>
-            <literal> det([]) = cond([]) = rcond([]) = 1</literal>
-        </para>
-        <para>
-            <literal> rank([]) = 0 </literal>
-        </para>
-        <para>
             Матричные функции возвращают <literal>[]</literal> или сообщение об
             ошибке, если нет однозначного ответа. Пустые линейные системы (списки
             <literal>syslin</literal>) могут иметь несколько строк или столбцов.
@@ -53,23 +44,48 @@ size(wr), w1=ss2tf(wr), size(w1)
         <title>Смотрите также</title>
         <simplelist type="inline">
             <member>
-                <link linkend="matrices">матрицы</link>
+                <link linkend="null">null</link>
             </member>
             <member>
-                <link linkend="poly">poly</link>
+                <link linkend="isempty">isempty</link>
             </member>
             <member>
-                <link linkend="string">string</link>
+                <link linkend="emptystr">emptystr</link>
             </member>
             <member>
-                <link linkend="boolean">boolean</link>
+                <link linkend="brackets">brackets</link>
             </member>
             <member>
-                <link linkend="rational">rational</link>
+                <link linkend="symbols">operators</link>
             </member>
             <member>
-                <link linkend="syslin">syslin</link>
+                <link linkend="matrices">matrices</link>
             </member>
         </simplelist>
     </refsection>
+    <refsection>
+        <title>История</title>
+        <revhistory>
+            <revision>
+                <revnumber>6.0.0</revnumber>
+                <revremark>
+                    <itemizedlist>
+                      <listitem>
+                          <literal>A+[]</literal>, <literal>[]+A</literal> and <literal>A-[]</literal>
+                          now return <literal>[]</literal> instead of <literal>A</literal>.
+                          <literal>[]-A</literal> now returns <literal>[]</literal> instead of
+                          <literal>-A</literal>.
+                      </listitem>
+                      <listitem>
+                         <literal> A>[] </literal>, <literal> A>=[] </literal>,
+                         <literal> A&lt;[] </literal>, <literal> A&lt;=[] </literal>,
+                         <literal> []>A </literal>, <literal> []>=A </literal>,
+                         <literal> []&lt;A </literal>, and <literal> []&lt;=A </literal> now return
+                         <literal> [] </literal> instead of an error.
+                      </listitem>
+                    </itemizedlist>
+                </revremark>
+            </revision>
+        </revhistory>
+    </refsection>
 </refentry>
index 2791b82..5afb302 100644 (file)
                 </listitem>
             </varlistentry>
         </variablelist>
+
+        <para>For [] :</para>
+        <para>
+            <literal>norm([])</literal> and <literal>norm([],p)</literal> return 0.
+        </para>
     </refsection>
     <refsection>
         <title>Примеры</title>
index 6880bb3..7509872 100644 (file)
@@ -44,6 +44,9 @@
             <literal>inv(X)</literal> is equivalent to <literal>invr(X)</literal>.
         </para>
         <para>
+          <literal>inv([])</literal> returns <literal>[]</literal>.
+        </para>
+        <para>
             For linear systems in state-space representation (<literal>syslin</literal> list),
             <literal>invr(X)</literal> is equivalent to <literal>invsyslin(X)</literal>.
         </para>
index 2f371f0..f23025f 100644 (file)
             <literal>rank(X,tol)</literal> is the number of singular values of
             <literal>X</literal> that are larger than <literal>tol</literal>.
         </para>
+        <para><literal>rank([])</literal> returns 0.</para>
         <para>
             <note>
-                Note that the default value of <literal>tol</literal> is proportional to
+                The default value of <literal>tol</literal> is proportional to
                 <literal>norm(X)</literal>. As a consequence
                 <literal>rank([1.d-80,0;0,1.d-80])</literal> is 2 !.
             </note>
index e3f7246..c935e6c 100644 (file)
@@ -61,6 +61,9 @@
             Algorithm: We compute the 1-norm of X with Lapack/DLANGE, compute its LU decomposition
             with Lapack/DGETRF, and finally estimate the condition with Lapack/DGECON.
         </para>
+        <para>
+          <literal>rcond([])</literal> returns <literal>[]</literal>.
+        </para>
     </refsection>
     <refsection>
         <title>Examples</title>
index 8894740..3c63998 100644 (file)
@@ -48,6 +48,9 @@
             équivalent à <literal>invr(X)</literal>.
         </para>
         <para>
+          <literal>inv([])</literal> vaut <literal>[]</literal>.
+        </para>
+        <para>
             Pour les systèmes dynamiques linéaires sous forme de leur représentation
             d'état (liste de type <literal>syslin</literal>), <literal>inv(X)</literal> est
             équivalent à <literal>invsyslin(X)</literal>.
index de4290f..38c59b4 100644 (file)
@@ -57,6 +57,7 @@
             <literal>rank(X,tol)</literal> est le nombre de valeurs singulières de
             <literal>X</literal> supérieures à <literal>tol</literal>.
         </para>
+        <para><literal>rank([])</literal> vaut 0.</para>
         <para>
             <note>
                 Notez que la valeur par défaut de <literal>tol</literal> est
index 24f1dc0..7c54a41 100644 (file)
@@ -64,6 +64,9 @@
             de X est effectuée avec Lapack/DGETRF. Finalement, le conditionnement est estimé
             avec Lapack/DGECON.
         </para>
+        <para>
+          <literal>rcond([])</literal> vaut <literal>[]</literal>.
+        </para>
     </refsection>
     <refsection>
         <title>Exemples</title>
index 9cd6526..d995955 100644 (file)
@@ -82,6 +82,9 @@
             <literal>inv(X)</literal> は <literal>invr(X)</literal>に等しくなります.
 
         </para>
+        <para>
+          <literal>inv([])</literal> returns <literal>[]</literal>.
+        </para>
 
         <para>
 
index 097658a..316d430 100644 (file)
         </para>
 
         <para>
-
             <literal>rank(X,tol)</literal> は,<literal>tol</literal>
-
             より大きな<literal>X</literal>の特異値の数です.
-
         </para>
-
+        <para><literal>rank([])</literal> returns 0.</para>
         <para>
-
+          <note>
             <literal>tol</literal> のデフォルト値は
-
             <literal>norm(X)</literal>に比例することに注意してください.
-
             結果として,<literal>rank([1.d-80,0;0,1.d-80])</literal> は 2 になります!.
-
+          </note>
         </para>
 
     </refsection>
index 9755be3..0b57335 100644 (file)
             Xの1-ノルムを Lapack/DLANGEで計算, そのLU分解をLapack/DGETRFで計算,
             最後に条件をLapack/DGECONで推定します.
         </para>
+        <para>
+          <literal>rcond([])</literal> returns <literal>[]</literal>.
+        </para>
+
     </refsection>
     <refsection>
         <title>例</title>
index 10fc34e..f7e382b 100644 (file)
         <refpurpose>inversa de uma matriz</refpurpose>
     </refnamediv>
     <refsynopsisdiv>
-        <title>Seqüência de Chamamento</title>
+        <title>Seqüência de Chamamento</title>
         <synopsis>inv(X)</synopsis>
     </refsynopsisdiv>
     <refsection>
-        <title>Parâmetros</title>
+        <title>Parâmetros</title>
         <variablelist>
             <varlistentry>
                 <term>X</term>
                 <listitem>
-                    <para>matriz quadrada de reais ou complexos, matriz de polinômios,
-                        matriz de razões de polinômios em representação de transferência ou
-                        espaço de estados
+                    <para>matriz quadrada de reais ou complexos, matriz de polinômios,
+                        matriz de razões de polinômios em representação de transferência ou
+                        espaço de estados
                     </para>
                 </listitem>
             </varlistentry>
         </variablelist>
     </refsection>
     <refsection>
-        <title>Descrição</title>
+        <title>Descrição</title>
         <para>
-            <literal>inv(X)</literal> é a inversa da matriz quadrada
-            <literal>X</literal>. Uma aviso é impresso na tela se <literal>X</literal>
-            possui má escala ou é quase singular.
+            <literal>inv(X)</literal> é a inversa da matriz quadrada
+            <literal>X</literal>. Uma aviso é impresso na tela se <literal>X</literal>
+            possui má escala ou é quase singular.
         </para>
-        <para>Para matrizes de polinômios ou matrizes razões de polinômios em
-            representação de transferência, <literal>inv(X)</literal> é equivalente a
+        <para>Para matrizes de polinômios ou matrizes razões de polinômios em
+            representação de transferência, <literal>inv(X)</literal> é equivalente a
             <literal>invr(X)</literal>.
         </para>
-        <para>Para sistemas lineares na representação de espaço de estados (lista
-            <literal>syslin</literal>), <literal>invr(X)</literal> é equivalente a
+        <para>
+          <literal>inv([])</literal> returns <literal>[]</literal>.
+        </para>
+        <para>Para sistemas lineares na representação de espaço de estados (lista
+            <literal>syslin</literal>), <literal>invr(X)</literal> é equivalente a
             <literal>invsyslin(X)</literal>.
         </para>
     </refsection>
     <refsection>
-        <title>Referências</title>
-        <para>A função inv para matrizes de números é baseada nas rotinas de
+        <title>Referências</title>
+        <para>A função inv para matrizes de números é baseada nas rotinas de
             Lapack DGETRF, DGETRI para matrizes de reais e ZGETRF, ZGETRI para o caso
-            de matrizes de complexos. Para matrizes de polinômios e matrizes de
-            funções racionais, <literal>inv</literal> é baseado na função
+            de matrizes de complexos. Para matrizes de polinômios e matrizes de
+            funções racionais, <literal>inv</literal> é baseado na função
             <literal>invr</literal> do Scilab.
         </para>
     </refsection>
@@ -78,7 +81,7 @@ clean(ss2tf(W))
  ]]></programlisting>
     </refsection>
     <refsection role="see also">
-        <title>Ver Também</title>
+        <title>Ver Também</title>
         <simplelist type="inline">
             <member>
                 <link linkend="slash">slash</link>
index 5817108..2f8b1a8 100644 (file)
         <refpurpose>posto</refpurpose>
     </refnamediv>
     <refsynopsisdiv>
-        <title> Seqüência de Chamamento </title>
+        <title> Seqüência de Chamamento </title>
         <synopsis>[i]=rank(X)
             [i]=rank(X,tol)
         </synopsis>
     </refsynopsisdiv>
     <refsection>
-        <title>Parâmetros</title>
+        <title>Parâmetros</title>
         <variablelist>
             <varlistentry>
                 <term>X</term>
             <varlistentry>
                 <term>tol</term>
                 <listitem>
-                    <para>número real não-negativo</para>
+                    <para>número real não-negativo</para>
                 </listitem>
             </varlistentry>
         </variablelist>
     </refsection>
     <refsection>
-        <title>Descrição</title>
+        <title>Descrição</title>
         <para>
-            <literal>rank(X)</literal> é o posto numérico de
-            <literal>X</literal> i.e. o número de valores singulares de X que são
+            <literal>rank(X)</literal> é o posto numérico de
+            <literal>X</literal> i.e. o número de valores singulares de X que são
             maiores que <literal>norm(size(X),'inf') * norm(X) *
                 %eps
             </literal>
             .
         </para>
         <para>
-            <literal>rank(X,tol)</literal> é o número de valores singulares de
-            <literal>X</literal> que são maiores que <literal>tol</literal>.
+            <literal>rank(X,tol)</literal> é o número de valores singulares de
+            <literal>X</literal> que são maiores que <literal>tol</literal>.
         </para>
+        <para><literal>rank([])</literal> returns 0.</para>
         <para>
-            Note que o valor padrão de <literal>tol</literal> é proporcional a
-            <literal>norm(X)</literal>. Como conseqüência,
-            <literal>rank([1.d-80,0;0,1.d-80])</literal> é 2 !.
+            Note que o valor padrão de <literal>tol</literal> é proporcional a
+            <literal>norm(X)</literal>. Como conseqüência,
+            <literal>rank([1.d-80,0;0,1.d-80])</literal> é 2 !.
         </para>
     </refsection>
     <refsection>
@@ -69,7 +70,7 @@ rank([1,0;0,1.d-80])
  ]]></programlisting>
     </refsection>
     <refsection>
-        <title> Ver Também</title>
+        <title> Ver Também</title>
         <simplelist type="inline">
             <member>
                 <link linkend="svd">svd</link>