Add others examples in gmres documentation 82/6882/6
Adeline CARNIS [Wed, 4 Apr 2012 15:14:26 +0000 (17:14 +0200)]
Change-Id: I11028d26917b60c40d9c7dbfd98544b555c08d14

scilab/modules/sparse/help/en_US/iterativesolvers/gmres.xml

index ad7fdad..e2fe50d 100644 (file)
@@ -2,6 +2,7 @@
 <!--
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) XXXX-2008 - INRIA
+ * Copyright (C) 2012 - Scilab Enterprises - Adeline Carnis
  * 
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
@@ -20,7 +21,7 @@
   </refnamediv>
   <refsynopsisdiv>
     <title>Calling Sequence</title>
-    <synopsis>[x,flag,err,iter,res] = gmres(A,b,rstr,tol,maxi,M,x0)</synopsis>
+    <synopsis>[x,flag,err,iter,res] = gmres(A,b,[rstr,[tol,[maxi,[M,[x0]]]]])</synopsis>
   </refsynopsisdiv>
   <refsection>
     <title>Arguments</title>
         <term>A</term>
         <listitem>
           <para>
-            n-by-n matrix or function returning <literal>A*x</literal>
+            n-by-n matrix or function returning <literal>A*x</literal>. If <literal>A</literal> is a function, it must have the following header :
           </para>
+          <programlisting role=""><![CDATA[ 
+function y = A ( x )
+ ]]></programlisting>
         </listitem>
       </varlistentry>
       <varlistentry>
   <refsection>
     <title>Examples</title>
     <programlisting role="example"><![CDATA[ 
+       // If A is a matrix
 A=[ 94  0   0   0    0   28  0   0   32  0  
      0   59  13  5    0   0   0   10  0   0  
      0   13  72  34   2   0   0   0   0   65 
@@ -162,7 +167,28 @@ A=[ 94  0   0   0    0   28  0   0   32  0
      32  0   0   0    12  33  0   8   82  11 
      0   0   65  55   0   0   0   0   11  100];
 b=ones(10,1);
-[x,flag,err,iter,res] = gmres(A,b);
+[x,flag,err,iter,res] = gmres(A, b)
+
+[x,flag,err,iter,res] = gmres(A, b, 10, 1d-12, 20, eye(10, 10), zeros(10, 1))
+
+       // If A is a function
+       function y = Atimesx(x)
+       A=[ 94  0   0   0    0   28  0   0   32  0  
+     0   59  13  5    0   0   0   10  0   0  
+     0   13  72  34   2   0   0   0   0   65 
+     0   5   34  114  0   0   0   0   0   55 
+     0   0   2   0    70  0   28  32  12  0  
+     28  0   0   0    0   87  20  0   33  0  
+     0   0   0   0    28  20  71  39  0   0  
+     0   10  0   0    32  0   39  46  8   0  
+     32  0   0   0    12  33  0   8   82  11 
+     0   0   65  55   0   0   0   0   11  100];
+        y = A * x;
+        endfunction
+        
+        [x,flag,err,iter,res] = gmres(Atimesx, b)
+        
+        [x,flag,err,iter,res] = gmres(Atimesx, b, 10, 1d-12, 20, eye(10,10), zeros(10,1))
  ]]></programlisting>
   </refsection>
   <refsection role="see also">