Tests: fix encoding to UTF8 47/18447/3
Paul Bignier [Thu, 11 Aug 2016 12:51:57 +0000 (14:51 +0200)]
 * These wrong encodings crashed on MacOS!

Change-Id: I3d8024f14cbb19de80245fc7263b50f31058881a

scilab/modules/polynomials/tests/nonreg_tests/bug_7101.dia.ref
scilab/modules/polynomials/tests/nonreg_tests/bug_7101.tst
scilab/modules/randlib/tests/unit_tests/grand_laws2.dia.ref
scilab/modules/randlib/tests/unit_tests/grand_laws2.tst
scilab/modules/statistics/tests/unit_tests/show_pca.dia.ref
scilab/modules/statistics/tests/unit_tests/show_pca.tst

index 92827db..74bef11 100644 (file)
 // <-- Short Description -->
 // The roots / Jenkins-Traub algorithm does not produce the roots, sometimes.
 // The solution is to use the eigenvalues of the companion matrix.
-// 
+//
 // sort_merge_comparison --
-//   Returns -1 if x < y, 
+//   Returns -1 if x < y,
 //   returns 0 if x==y,
 //   returns +1 if x > y
 //
 function order = sort_merge_comparison ( x , y )
-  if x < y then
-    order = -1
-  elseif x==y then
-    order = 0
-  else 
-    order = 1
-  end
+    if x < y then
+        order = -1
+    elseif x==y then
+        order = 0
+    else
+        order = 1
+    end
 endfunction
 //
 // sort_merge --
@@ -35,78 +35,78 @@ endfunction
 //   x : the array to sort
 //   compfun : the comparison function
 // Bruno Pincon
-// "quelques tests de rapidit´e entre diff´erents logiciels matriciels"
+// "quelques tests de rapidité entre différents logiciels matriciels"
 // Modified by Michael Baudin to manage a comparison function
 //
 function [x] = sort_merge ( varargin )
-  [lhs,rhs]=argn();
-  if rhs<>1 & rhs<>2 then
-    errmsg = sprintf("Unexpected number of arguments : %d provided while 1 or 2 are expected.",rhs);
-    error(errmsg)
-  end
-  // Get the array x
-  x = varargin(1);
-  // Get the comparison function compfun
-  if rhs==1 then
-    compfun = sort_merge_comparison;
-  else
-    compfun = varargin(2);
-  end
-  // Proceed...
-  n = length(x)
-  if n > 1 then
-    m = floor(n/2); 
-    p = n-m
-    x1 = sort_merge ( x(1:m) , compfun )
-    x2 = sort_merge ( x(m+1:n) , compfun )
-    i = 1; 
-    i1 = 1;
-    i2 = 1;
-    for i = 1:n
-      order = compfun ( x1(i1) , x2(i2) );
-      if order<=0 then
-        x(i) = x1(i1)
-        i1 = i1+1
-        if (i1 > m) then
-          x(i+1:n) = x2(i2:p)
-          break
-        end
-      else
-        x(i) = x2(i2)
-        i2 = i2+1
-        if (i2 > p) then
-          x(i+1:n) = x1(i1:m)
-          break
+    [lhs,rhs]=argn();
+    if rhs<>1 & rhs<>2 then
+        errmsg = sprintf("Unexpected number of arguments : %d provided while 1 or 2 are expected.",rhs);
+        error(errmsg)
+    end
+    // Get the array x
+    x = varargin(1);
+    // Get the comparison function compfun
+    if rhs==1 then
+        compfun = sort_merge_comparison;
+    else
+        compfun = varargin(2);
+    end
+    // Proceed...
+    n = length(x)
+    if n > 1 then
+        m = floor(n/2);
+        p = n-m
+        x1 = sort_merge ( x(1:m) , compfun )
+        x2 = sort_merge ( x(m+1:n) , compfun )
+        i = 1;
+        i1 = 1;
+        i2 = 1;
+        for i = 1:n
+            order = compfun ( x1(i1) , x2(i2) );
+            if order<=0 then
+                x(i) = x1(i1)
+                i1 = i1+1
+                if (i1 > m) then
+                    x(i+1:n) = x2(i2:p)
+                    break
+                end
+            else
+                x(i) = x2(i2)
+                i2 = i2+1
+                if (i2 > p) then
+                    x(i+1:n) = x1(i1:m)
+                    break
+                end
+            end
         end
-      end
     end
-  end
 endfunction
-// 
+//
 // compare_complexrealimag --
-//   Returns -1 if a < b, 
+//   Returns -1 if a < b,
 //   returns 0 if a==b,
 //   returns +1 if a > b
 // Compare first by real parts, then by imaginary parts.
 //
 function order = compare_complexrealimag ( a , b )
- ar = real(a)
- br = real(b)
- if ar < br then
-   order = -1
- elseif ar > br then
-   order = 1
- else
-   ai = imag(a)
-   bi = imag(b)
-   if ai < bi then
-     order = -1
-   elseif ai == bi then
-     order = 0
-   else
-     order = 1
+    ar = real(a)
+    br = real(b)
+    if ar < br then
+        order = -1
+    elseif ar > br then
+        order = 1
+    else
+        ai = imag(a)
+        bi = imag(b)
+        if ai < bi then
+            order = -1
+        elseif ai == bi then
+            order = 0
+        else
+            order = 1
+        end
     end
-  end
 endfunction
 //
 // assert_close --
@@ -117,45 +117,45 @@ endfunction
 //   epsilon : a small number
 //
 function flag = assert_close ( computed, expected, epsilon )
-  if expected==0.0 then
-    shift = norm(computed-expected);
-  else
-    shift = norm(computed-expected)/norm(expected);
-  end
-  if shift < epsilon then
-    flag = 1;
-  else
-    flag = 0;
-  end
-  if flag <> 1 then bugmes();quit;end
+    if expected==0.0 then
+        shift = norm(computed-expected);
+    else
+        shift = norm(computed-expected)/norm(expected);
+    end
+    if shift < epsilon then
+        flag = 1;
+    else
+        flag = 0;
+    end
+    if flag <> 1 then bugmes();quit;end
 endfunction
 function y = sortmyroots(x)
-  // Sort the roots of a polynomial with a customized
-  // complex-aware sorting algorithm.
-  y = sort_merge ( x , compare_complexrealimag );
+    // Sort the roots of a polynomial with a customized
+    // complex-aware sorting algorithm.
+    y = sort_merge ( x , compare_complexrealimag );
 endfunction
 // Failed on Windows 32 bits
 p = [1,1,-7,-15,1,-4,4,7,4,-53,1,-53,-8,3,3,0,9,-15];
 r = roots(p);
 e = [
-    2.9977242               
-  - 2.0998215 + 1.0381514 * %i  
-  - 2.0998215 - 1.0381514 * %i   
-  - 1.1261224 + 0.7687233 * %i    
-  - 1.1261224 - 0.7687233 * %i    
-    1.1176579 + 0.5115332 * %i    
-    1.1176579 - 0.5115332 * %i    
-  - 0.7359417 + 0.3731641 * %i    
-  - 0.7359417 - 0.3731641 * %i    
-    0.2849638 + 0.9531919 * %i    
-    0.2849638 - 0.9531919 * %i    
-    0.0897371 + 1.0370037 * %i    
-    0.0897371 - 1.0370037 * %i    
-  - 0.1740455 + 0.9263179 * %i    
-  - 0.1740455 - 0.9263179 * %i    
-    0.6447102 + 0.2914081 * %i    
-    0.6447102 - 0.2914081 * %i    
-       ];
+2.9977242
+- 2.0998215 + 1.0381514 * %i
+- 2.0998215 - 1.0381514 * %i
+- 1.1261224 + 0.7687233 * %i
+- 1.1261224 - 0.7687233 * %i
+1.1176579 + 0.5115332 * %i
+1.1176579 - 0.5115332 * %i
+- 0.7359417 + 0.3731641 * %i
+- 0.7359417 - 0.3731641 * %i
+0.2849638 + 0.9531919 * %i
+0.2849638 - 0.9531919 * %i
+0.0897371 + 1.0370037 * %i
+0.0897371 - 1.0370037 * %i
+- 0.1740455 + 0.9263179 * %i
+- 0.1740455 - 0.9263179 * %i
+0.6447102 + 0.2914081 * %i
+0.6447102 - 0.2914081 * %i
+];
 e = sortmyroots(e);
 r = sortmyroots(r);
 assert_close ( r, e, 1.e-6 );
@@ -163,23 +163,23 @@ assert_close ( r, e, 1.e-6 );
 p=[1,1,-7,-35,1,-4,4,7,4,-88,1,-88,-8,3,3,0,9,-35];
 r = roots(p);
 e = [
-    3.6133489               
-  - 2.3323533 + 2.0888127 * %i    
-  - 2.3323533 - 2.0888127 * %i    
-    1.0856792 + 0.5138318 * %i    
-    1.0856792 - 0.5138318 * %i    
-  - 1.1030013 + 0.6108696 * %i    
-  - 1.1030013 - 0.6108696 * %i    
-    0.3226838 + 0.9451270 * %i    
-    0.3226838 - 0.9451270 * %i    
-    0.0250044 + 1.0210451 * %i    
-    0.0250044 - 1.0210451 * %i    
-  - 0.2556563 + 0.9467085 * %i    
-  - 0.2556563 - 0.9467085 * %i    
-  - 0.7512303 + 0.3765797 * %i    
-  - 0.7512303 - 0.3765797 * %i    
-    0.7021994 + 0.3415821 * %i    
-    0.7021994 - 0.3415821 * %i    
+3.6133489
+- 2.3323533 + 2.0888127 * %i
+- 2.3323533 - 2.0888127 * %i
+1.0856792 + 0.5138318 * %i
+1.0856792 - 0.5138318 * %i
+- 1.1030013 + 0.6108696 * %i
+- 1.1030013 - 0.6108696 * %i
+0.3226838 + 0.9451270 * %i
+0.3226838 - 0.9451270 * %i
+0.0250044 + 1.0210451 * %i
+0.0250044 - 1.0210451 * %i
+- 0.2556563 + 0.9467085 * %i
+- 0.2556563 - 0.9467085 * %i
+- 0.7512303 + 0.3765797 * %i
+- 0.7512303 - 0.3765797 * %i
+0.7021994 + 0.3415821 * %i
+0.7021994 - 0.3415821 * %i
 ];
 e = sortmyroots(e);
 r = sortmyroots(r);
@@ -188,23 +188,23 @@ assert_close ( r, e, 1.e-6 );
 p=[1,1,-7,-80,1,-4,4,7,4,-27,1,-27,-8,3,3,0,9,-80];
 r = roots(p);
 e = [
-  - 2.7595524 + 3.1924496 * %i    
-  - 2.7595524 - 3.1924496 * %i    
-    4.5006465               
-  - 0.9689444 + 0.2683252 * %i    
-  - 0.9689444 - 0.2683252 * %i    
-  - 0.8111357 + 0.6166997 * %i    
-  - 0.8111357 - 0.6166997 * %i    
-  - 0.3893539 + 0.9194344 * %i    
-  - 0.3893539 - 0.9194344 * %i    
-    0.0061369 + 1.0065796 * %i    
-    0.0061369 - 1.0065796 * %i    
-    0.4195701 + 0.9089127 * %i    
-    0.4195701 - 0.9089127 * %i    
-    0.9590394 + 0.2589039 * %i    
-    0.9590394 - 0.2589039 * %i    
-    0.7939168 + 0.5672744 * %i    
-    0.7939168 - 0.5672744 * %i    
+- 2.7595524 + 3.1924496 * %i
+- 2.7595524 - 3.1924496 * %i
+4.5006465
+- 0.9689444 + 0.2683252 * %i
+- 0.9689444 - 0.2683252 * %i
+- 0.8111357 + 0.6166997 * %i
+- 0.8111357 - 0.6166997 * %i
+- 0.3893539 + 0.9194344 * %i
+- 0.3893539 - 0.9194344 * %i
+0.0061369 + 1.0065796 * %i
+0.0061369 - 1.0065796 * %i
+0.4195701 + 0.9089127 * %i
+0.4195701 - 0.9089127 * %i
+0.9590394 + 0.2589039 * %i
+0.9590394 - 0.2589039 * %i
+0.7939168 + 0.5672744 * %i
+0.7939168 - 0.5672744 * %i
 ];
 e = sortmyroots(e);
 r = sortmyroots(r);
@@ -213,40 +213,41 @@ assert_close ( r, e, 1.e-6 );
 p=[1,0,1,1,1,-1,-1,1,1,0,1,0,-1,-1,1,-2,0,0,1,-1,1];
 r = roots(p);
 e = [
-    0.5444059 + 1.3082079 * %i    
-    0.5444059 - 1.3082079 * %i    
-  - 1.0517348 + 0.2347104 * %i    
-  - 1.0517348 - 0.2347104 * %i    
-  - 0.5893898 + 0.9840032 * %i    
-  - 0.5893898 - 0.9840032 * %i    
-  - 0.8170407 + 0.5459189 * %i    
-  - 0.8170407 - 0.5459189 * %i    
-  - 0.6570402 + 0.7150468 * %i    
-  - 0.6570402 - 0.7150468 * %i    
-    0.0129780 + 0.9748750 * %i    
-    0.0129780 - 0.9748750 * %i    
-    0.9192290 + 0.4894403 * %i    
-    0.9192290 - 0.4894403 * %i    
-    0.8691302 + 0.0832523 * %i    
-    0.8691302 - 0.0832523 * %i    
-    0.4975871 + 0.6807740 * %i    
-    0.4975871 - 0.6807740 * %i    
-    0.2718754 + 0.7528695 * %i    
-    0.2718754 - 0.7528695 * %i    
+0.5444059 + 1.3082079 * %i
+0.5444059 - 1.3082079 * %i
+- 1.0517348 + 0.2347104 * %i
+- 1.0517348 - 0.2347104 * %i
+- 0.5893898 + 0.9840032 * %i
+- 0.5893898 - 0.9840032 * %i
+- 0.8170407 + 0.5459189 * %i
+- 0.8170407 - 0.5459189 * %i
+- 0.6570402 + 0.7150468 * %i
+- 0.6570402 - 0.7150468 * %i
+0.0129780 + 0.9748750 * %i
+0.0129780 - 0.9748750 * %i
+0.9192290 + 0.4894403 * %i
+0.9192290 - 0.4894403 * %i
+0.8691302 + 0.0832523 * %i
+0.8691302 - 0.0832523 * %i
+0.4975871 + 0.6807740 * %i
+0.4975871 - 0.6807740 * %i
+0.2718754 + 0.7528695 * %i
+0.2718754 - 0.7528695 * %i
 ];
 e = sortmyroots(e);
 r = sortmyroots(r);
 assert_close ( r, e, 1.e-6 );
 // A loop on several polynomials
 for i=-100:100
-       if ( modulo(i,20)==0 ) then
-       mprintf("i=%d\n",i);
-       end
-       for j=-100:100
-               p=[1 1 -7 j 1 -4 4 7 4 i 1 i -8 3 3 0 9  j];
-               roots(p); 
-       end; 
-end;i=-100
+    if ( modulo(i,20)==0 ) then
+        mprintf("i=%d\n",i);
+    end
+    for j=-100:100
+        p=[1 1 -7 j 1 -4 4 7 4 i 1 i -8 3 3 0 9  j];
+        roots(p);
+    end;
+end;
+i=-100
 i=-80
 i=-60
 i=-40
@@ -258,13 +259,13 @@ i=60
 i=80
 i=100
 // A loop on random polynomials.
-// The coefficients are integers 
+// The coefficients are integers
 for i = 1:3000
-  if ( modulo(i,1000)==0 ) then
-    mprintf("i=%d\n",i);
-  end
-  p = [1 round(4*rand(1,20)-2)];
-  roots(p);
+    if ( modulo(i,1000)==0 ) then
+        mprintf("i=%d\n",i);
+    end
+    p = [1 round(4*rand(1,20)-2)];
+    roots(p);
 end
 i=1000
 i=2000
index e9e34a7..674abb8 100644 (file)
 // The roots / Jenkins-Traub algorithm does not produce the roots, sometimes.
 // The solution is to use the eigenvalues of the companion matrix.
 
-// 
+//
 // sort_merge_comparison --
-//   Returns -1 if x < y, 
+//   Returns -1 if x < y,
 //   returns 0 if x==y,
 //   returns +1 if x > y
 //
 function order = sort_merge_comparison ( x , y )
-  if x < y then
-    order = -1
-  elseif x==y then
-    order = 0
-  else 
-    order = 1
-  end
+    if x < y then
+        order = -1
+    elseif x==y then
+        order = 0
+    else
+        order = 1
+    end
 endfunction
 
 //
@@ -39,79 +39,79 @@ endfunction
 //   x : the array to sort
 //   compfun : the comparison function
 // Bruno Pincon
-// "quelques tests de rapidit´e entre diff´erents logiciels matriciels"
+// "quelques tests de rapidité entre différents logiciels matriciels"
 // Modified by Michael Baudin to manage a comparison function
 //
 function [x] = sort_merge ( varargin )
-  [lhs,rhs]=argn();
-  if rhs<>1 & rhs<>2 then
-    errmsg = sprintf("Unexpected number of arguments : %d provided while 1 or 2 are expected.",rhs);
-    error(errmsg)
-  end
-  // Get the array x
-  x = varargin(1);
-  // Get the comparison function compfun
-  if rhs==1 then
-    compfun = sort_merge_comparison;
-  else
-    compfun = varargin(2);
-  end
-  // Proceed...
-  n = length(x)
-  if n > 1 then
-    m = floor(n/2); 
-    p = n-m
-    x1 = sort_merge ( x(1:m) , compfun )
-    x2 = sort_merge ( x(m+1:n) , compfun )
-    i = 1; 
-    i1 = 1;
-    i2 = 1;
-    for i = 1:n
-      order = compfun ( x1(i1) , x2(i2) );
-      if order<=0 then
-        x(i) = x1(i1)
-        i1 = i1+1
-        if (i1 > m) then
-          x(i+1:n) = x2(i2:p)
-          break
-        end
-      else
-        x(i) = x2(i2)
-        i2 = i2+1
-        if (i2 > p) then
-          x(i+1:n) = x1(i1:m)
-          break
+    [lhs,rhs]=argn();
+    if rhs<>1 & rhs<>2 then
+        errmsg = sprintf("Unexpected number of arguments : %d provided while 1 or 2 are expected.",rhs);
+        error(errmsg)
+    end
+    // Get the array x
+    x = varargin(1);
+    // Get the comparison function compfun
+    if rhs==1 then
+        compfun = sort_merge_comparison;
+    else
+        compfun = varargin(2);
+    end
+    // Proceed...
+    n = length(x)
+    if n > 1 then
+        m = floor(n/2);
+        p = n-m
+        x1 = sort_merge ( x(1:m) , compfun )
+        x2 = sort_merge ( x(m+1:n) , compfun )
+        i = 1;
+        i1 = 1;
+        i2 = 1;
+        for i = 1:n
+            order = compfun ( x1(i1) , x2(i2) );
+            if order<=0 then
+                x(i) = x1(i1)
+                i1 = i1+1
+                if (i1 > m) then
+                    x(i+1:n) = x2(i2:p)
+                    break
+                end
+            else
+                x(i) = x2(i2)
+                i2 = i2+1
+                if (i2 > p) then
+                    x(i+1:n) = x1(i1:m)
+                    break
+                end
+            end
         end
-      end
     end
-  end
 endfunction
 
-// 
+//
 // compare_complexrealimag --
-//   Returns -1 if a < b, 
+//   Returns -1 if a < b,
 //   returns 0 if a==b,
 //   returns +1 if a > b
 // Compare first by real parts, then by imaginary parts.
 //
 function order = compare_complexrealimag ( a , b )
- ar = real(a)
- br = real(b)
- if ar < br then
-   order = -1
- elseif ar > br then
-   order = 1
- else
-   ai = imag(a)
-   bi = imag(b)
-   if ai < bi then
-     order = -1
-   elseif ai == bi then
-     order = 0
-   else
-     order = 1
+    ar = real(a)
+    br = real(b)
+    if ar < br then
+        order = -1
+    elseif ar > br then
+        order = 1
+    else
+        ai = imag(a)
+        bi = imag(b)
+        if ai < bi then
+            order = -1
+        elseif ai == bi then
+            order = 0
+        else
+            order = 1
+        end
     end
-  end
 endfunction
 
 //
@@ -123,47 +123,47 @@ endfunction
 //   epsilon : a small number
 //
 function flag = assert_close ( computed, expected, epsilon )
-  if expected==0.0 then
-    shift = norm(computed-expected);
-  else
-    shift = norm(computed-expected)/norm(expected);
-  end
-  if shift < epsilon then
-    flag = 1;
-  else
-    flag = 0;
-  end
-  if flag <> 1 then pause,end
+    if expected==0.0 then
+        shift = norm(computed-expected);
+    else
+        shift = norm(computed-expected)/norm(expected);
+    end
+    if shift < epsilon then
+        flag = 1;
+    else
+        flag = 0;
+    end
+    if flag <> 1 then pause,end
 endfunction
 
 function y = sortmyroots(x)
-  // Sort the roots of a polynomial with a customized
-  // complex-aware sorting algorithm.
-  y = sort_merge ( x , compare_complexrealimag );
+    // Sort the roots of a polynomial with a customized
+    // complex-aware sorting algorithm.
+    y = sort_merge ( x , compare_complexrealimag );
 endfunction
 
 // Failed on Windows 32 bits
 p = [1,1,-7,-15,1,-4,4,7,4,-53,1,-53,-8,3,3,0,9,-15];
 r = roots(p);
 e = [
-    2.9977242               
-  - 2.0998215 + 1.0381514 * %i  
-  - 2.0998215 - 1.0381514 * %i   
-  - 1.1261224 + 0.7687233 * %i    
-  - 1.1261224 - 0.7687233 * %i    
-    1.1176579 + 0.5115332 * %i    
-    1.1176579 - 0.5115332 * %i    
-  - 0.7359417 + 0.3731641 * %i    
-  - 0.7359417 - 0.3731641 * %i    
-    0.2849638 + 0.9531919 * %i    
-    0.2849638 - 0.9531919 * %i    
-    0.0897371 + 1.0370037 * %i    
-    0.0897371 - 1.0370037 * %i    
-  - 0.1740455 + 0.9263179 * %i    
-  - 0.1740455 - 0.9263179 * %i    
-    0.6447102 + 0.2914081 * %i    
-    0.6447102 - 0.2914081 * %i    
-       ];
+2.9977242
+- 2.0998215 + 1.0381514 * %i
+- 2.0998215 - 1.0381514 * %i
+- 1.1261224 + 0.7687233 * %i
+- 1.1261224 - 0.7687233 * %i
+1.1176579 + 0.5115332 * %i
+1.1176579 - 0.5115332 * %i
+- 0.7359417 + 0.3731641 * %i
+- 0.7359417 - 0.3731641 * %i
+0.2849638 + 0.9531919 * %i
+0.2849638 - 0.9531919 * %i
+0.0897371 + 1.0370037 * %i
+0.0897371 - 1.0370037 * %i
+- 0.1740455 + 0.9263179 * %i
+- 0.1740455 - 0.9263179 * %i
+0.6447102 + 0.2914081 * %i
+0.6447102 - 0.2914081 * %i
+];
 e = sortmyroots(e);
 r = sortmyroots(r);
 assert_close ( r, e, 1.e-6 );
@@ -172,23 +172,23 @@ assert_close ( r, e, 1.e-6 );
 p=[1,1,-7,-35,1,-4,4,7,4,-88,1,-88,-8,3,3,0,9,-35];
 r = roots(p);
 e = [
-    3.6133489               
-  - 2.3323533 + 2.0888127 * %i    
-  - 2.3323533 - 2.0888127 * %i    
-    1.0856792 + 0.5138318 * %i    
-    1.0856792 - 0.5138318 * %i    
-  - 1.1030013 + 0.6108696 * %i    
-  - 1.1030013 - 0.6108696 * %i    
-    0.3226838 + 0.9451270 * %i    
-    0.3226838 - 0.9451270 * %i    
-    0.0250044 + 1.0210451 * %i    
-    0.0250044 - 1.0210451 * %i    
-  - 0.2556563 + 0.9467085 * %i    
-  - 0.2556563 - 0.9467085 * %i    
-  - 0.7512303 + 0.3765797 * %i    
-  - 0.7512303 - 0.3765797 * %i    
-    0.7021994 + 0.3415821 * %i    
-    0.7021994 - 0.3415821 * %i    
+3.6133489
+- 2.3323533 + 2.0888127 * %i
+- 2.3323533 - 2.0888127 * %i
+1.0856792 + 0.5138318 * %i
+1.0856792 - 0.5138318 * %i
+- 1.1030013 + 0.6108696 * %i
+- 1.1030013 - 0.6108696 * %i
+0.3226838 + 0.9451270 * %i
+0.3226838 - 0.9451270 * %i
+0.0250044 + 1.0210451 * %i
+0.0250044 - 1.0210451 * %i
+- 0.2556563 + 0.9467085 * %i
+- 0.2556563 - 0.9467085 * %i
+- 0.7512303 + 0.3765797 * %i
+- 0.7512303 - 0.3765797 * %i
+0.7021994 + 0.3415821 * %i
+0.7021994 - 0.3415821 * %i
 ];
 e = sortmyroots(e);
 r = sortmyroots(r);
@@ -198,23 +198,23 @@ assert_close ( r, e, 1.e-6 );
 p=[1,1,-7,-80,1,-4,4,7,4,-27,1,-27,-8,3,3,0,9,-80];
 r = roots(p);
 e = [
-  - 2.7595524 + 3.1924496 * %i    
-  - 2.7595524 - 3.1924496 * %i    
-    4.5006465               
-  - 0.9689444 + 0.2683252 * %i    
-  - 0.9689444 - 0.2683252 * %i    
-  - 0.8111357 + 0.6166997 * %i    
-  - 0.8111357 - 0.6166997 * %i    
-  - 0.3893539 + 0.9194344 * %i    
-  - 0.3893539 - 0.9194344 * %i    
-    0.0061369 + 1.0065796 * %i    
-    0.0061369 - 1.0065796 * %i    
-    0.4195701 + 0.9089127 * %i    
-    0.4195701 - 0.9089127 * %i    
-    0.9590394 + 0.2589039 * %i    
-    0.9590394 - 0.2589039 * %i    
-    0.7939168 + 0.5672744 * %i    
-    0.7939168 - 0.5672744 * %i    
+- 2.7595524 + 3.1924496 * %i
+- 2.7595524 - 3.1924496 * %i
+4.5006465
+- 0.9689444 + 0.2683252 * %i
+- 0.9689444 - 0.2683252 * %i
+- 0.8111357 + 0.6166997 * %i
+- 0.8111357 - 0.6166997 * %i
+- 0.3893539 + 0.9194344 * %i
+- 0.3893539 - 0.9194344 * %i
+0.0061369 + 1.0065796 * %i
+0.0061369 - 1.0065796 * %i
+0.4195701 + 0.9089127 * %i
+0.4195701 - 0.9089127 * %i
+0.9590394 + 0.2589039 * %i
+0.9590394 - 0.2589039 * %i
+0.7939168 + 0.5672744 * %i
+0.7939168 - 0.5672744 * %i
 ];
 e = sortmyroots(e);
 r = sortmyroots(r);
@@ -224,26 +224,26 @@ assert_close ( r, e, 1.e-6 );
 p=[1,0,1,1,1,-1,-1,1,1,0,1,0,-1,-1,1,-2,0,0,1,-1,1];
 r = roots(p);
 e = [
-    0.5444059 + 1.3082079 * %i    
-    0.5444059 - 1.3082079 * %i    
-  - 1.0517348 + 0.2347104 * %i    
-  - 1.0517348 - 0.2347104 * %i    
-  - 0.5893898 + 0.9840032 * %i    
-  - 0.5893898 - 0.9840032 * %i    
-  - 0.8170407 + 0.5459189 * %i    
-  - 0.8170407 - 0.5459189 * %i    
-  - 0.6570402 + 0.7150468 * %i    
-  - 0.6570402 - 0.7150468 * %i    
-    0.0129780 + 0.9748750 * %i    
-    0.0129780 - 0.9748750 * %i    
-    0.9192290 + 0.4894403 * %i    
-    0.9192290 - 0.4894403 * %i    
-    0.8691302 + 0.0832523 * %i    
-    0.8691302 - 0.0832523 * %i    
-    0.4975871 + 0.6807740 * %i    
-    0.4975871 - 0.6807740 * %i    
-    0.2718754 + 0.7528695 * %i    
-    0.2718754 - 0.7528695 * %i    
+0.5444059 + 1.3082079 * %i
+0.5444059 - 1.3082079 * %i
+- 1.0517348 + 0.2347104 * %i
+- 1.0517348 - 0.2347104 * %i
+- 0.5893898 + 0.9840032 * %i
+- 0.5893898 - 0.9840032 * %i
+- 0.8170407 + 0.5459189 * %i
+- 0.8170407 - 0.5459189 * %i
+- 0.6570402 + 0.7150468 * %i
+- 0.6570402 - 0.7150468 * %i
+0.0129780 + 0.9748750 * %i
+0.0129780 - 0.9748750 * %i
+0.9192290 + 0.4894403 * %i
+0.9192290 - 0.4894403 * %i
+0.8691302 + 0.0832523 * %i
+0.8691302 - 0.0832523 * %i
+0.4975871 + 0.6807740 * %i
+0.4975871 - 0.6807740 * %i
+0.2718754 + 0.7528695 * %i
+0.2718754 - 0.7528695 * %i
 ];
 e = sortmyroots(e);
 r = sortmyroots(r);
@@ -251,21 +251,21 @@ assert_close ( r, e, 1.e-6 );
 
 // A loop on several polynomials
 for i=-100:100
-       if ( modulo(i,20)==0 ) then
-       mprintf("i=%d\n",i);
-       end
-       for j=-100:100
-               p=[1 1 -7 j 1 -4 4 7 4 i 1 i -8 3 3 0 9  j];
-               roots(p); 
-       end; 
-end; 
+    if ( modulo(i,20)==0 ) then
+        mprintf("i=%d\n",i);
+    end
+    for j=-100:100
+        p=[1 1 -7 j 1 -4 4 7 4 i 1 i -8 3 3 0 9  j];
+        roots(p);
+    end;
+end;
 
 // A loop on random polynomials.
-// The coefficients are integers 
+// The coefficients are integers
 for i = 1:3000
-  if ( modulo(i,1000)==0 ) then
-    mprintf("i=%d\n",i);
-  end
-  p = [1 round(4*rand(1,20)-2)];
-  roots(p);
+    if ( modulo(i,1000)==0 ) then
+        mprintf("i=%d\n",i);
+    end
+    p = [1 round(4*rand(1,20)-2)];
+    roots(p);
 end
index 9a92c64..16de16f 100644 (file)
@@ -7,7 +7,7 @@
 // =============================================================================
 // <-- CLI SHELL MODE -->
 //
-// These tests makes comparisons between the empirical cumulated 
+// These tests makes comparisons between the empirical cumulated
 // distribution function and the theoretical distribution function.
 // They do not make use of the Chi-square distribution function,
 // and, therefore, are not Kolmogorov-Smirnov tests.
 // For each test, we can compare the two plots with the statements :
 // plot(RdevS,PS,"b-"); // Empirical distribution
 // plot(RdevS,P,"ro-"); // Theoretical distribution
-// 
+//
 // Not all distribution functions are tested.
-// Moreover, the comparison is not done for integer-based (piecewise) 
+// Moreover, the comparison is not done for integer-based (piecewise)
 // distribution functions.
 // This work is to be updated.
 //
 // Set the seed to always get the same random numbers
 grand("setsd",0);
 prec = 1;
-// test for exp 
+// test for exp
 for i=linspace(0.1,50,10)
-  N=10000;A=i;
-  Rdev=grand(1,N,'exp',A);
-  RdevS=gsort(Rdev,"g","i")';
-  PS=(1:N)'/N;
-  P=1-exp(-RdevS/A);
-  if norm(P-PS) > 2*prec then bugmes();quit;end
-end
-// test for gamma 
-for i=linspace(1,15,4)
-  for j=linspace(1,15,4)
-    N=10000;A=i;B=j;
-    Rdev=grand(1,N,'gam',A,B); 
+    N=10000;A=i;
+    Rdev=grand(1,N,"exp",A);
     RdevS=gsort(Rdev,"g","i")';
     PS=(1:N)'/N;
-    [P]=cdfgam("PQ",RdevS,A*ones(RdevS),B*ones(RdevS));
-    if norm(P-PS)> 2*prec then bugmes();quit;end
-  end
+    P=1-exp(-RdevS/A);
+    if norm(P-PS) > 2*prec then bugmes();quit;end
 end
-// test for beta random deviate 
+// test for gamma
+for i=linspace(1,15,4)
+    for j=linspace(1,15,4)
+        N=10000;A=i;B=j;
+        Rdev=grand(1,N,"gam",A,B);
+        RdevS=gsort(Rdev,"g","i")';
+        PS=(1:N)'/N;
+        [P]=cdfgam("PQ",RdevS,A*ones(RdevS),B*ones(RdevS));
+        if norm(P-PS)> 2*prec then bugmes();quit;end
+    end
+end
+// test for beta random deviate
 for i=linspace(1,20,4)
-  for j=linspace(1,20,4)
-    N=10000;A=i;B=j;
-    Rdev=grand(1,N,'bet',A,B); 
-    RdevS=gsort(Rdev,"g","i")';
-    PS=(1:N)'/N;
-    [P]=cdfbet("PQ",RdevS,1-RdevS,A*ones(RdevS),B*ones(RdevS));
-    if norm(P-PS)> 2*prec then bugmes();quit;end
-  end
+    for j=linspace(1,20,4)
+        N=10000;A=i;B=j;
+        Rdev=grand(1,N,"bet",A,B);
+        RdevS=gsort(Rdev,"g","i")';
+        PS=(1:N)'/N;
+        [P]=cdfbet("PQ",RdevS,1-RdevS,A*ones(RdevS),B*ones(RdevS));
+        if norm(P-PS)> 2*prec then bugmes();quit;end
+    end
 end
-// test for poi 
+// test for poi
 for i=floor(linspace(50,70,10))
-  N=10000;A=i;
-  Rdev=grand(1,N,'poi',A);
-  RdevS=gsort(Rdev,"g","i")';
-  PS=(1:N)'/N;
-  [P]=cdfpoi("PQ",RdevS,A*ones(RdevS));
-  // Need an other test P is piecewize linear and PS
-  // linear
-  //if norm(P-PS) > prec then bugmes();quit;end
+    N=10000;A=i;
+    Rdev=grand(1,N,"poi",A);
+    RdevS=gsort(Rdev,"g","i")';
+    PS=(1:N)'/N;
+    [P]=cdfpoi("PQ",RdevS,A*ones(RdevS));
+    // Need an other test P is piecewize linear and PS
+    // linear
+    //if norm(P-PS) > prec then bugmes();quit;end
 end
 N=100;A=5;B=0.7;
-Rdev=grand(N,N,'bin',A,B);
+Rdev=grand(N,N,"bin",A,B);
 Rdev=matrix(Rdev,1,N^2);
 RdevS=gsort(Rdev,"g","i")';
 PS=(1:(N^2))'/(N^2);
 [P]=cdfbin("PQ",RdevS,A*ones(RdevS),B*ones(RdevS),(1-B)*ones(RdevS));
 //if norm(P-PS) > prec then bugmes();quit;end
-// test for f 
+// test for f
 N=10000;A=1;B=3;
-Rdev=grand(1,N,'f',A,B);
+Rdev=grand(1,N,"f",A,B);
 RdevS=gsort(Rdev,"g","i")';
 PS=(1:N)'/N;
 [P]=cdff("PQ",RdevS,A*ones(RdevS),B*ones(RdevS));
 if norm(P-PS) > prec then bugmes();quit;end
 // test for mul
-// TODO 
-// test for nor 
+// TODO
+// test for nor
 N=10000;A=1;B=2;
-Rdev=grand(1,N,'nor',A,B);
+Rdev=grand(1,N,"nor",A,B);
 RdevS=gsort(Rdev,"g","i")';
 PS=(1:N)'/N;
 [P]=cdfnor("PQ",RdevS,A*ones(RdevS),B*ones(RdevS));
 if norm(P-PS) > prec then bugmes();quit;end
-// test for unf 
+// test for unf
 N=10000;A=1;B=2;
-Rdev=grand(1,N,'unf',A,B);
+Rdev=grand(1,N,"unf",A,B);
 RdevS=gsort(Rdev,"g","i")';
 PS=(1:N)'/N;
 [P]=RdevS-A;
 if norm(P-PS) > prec then bugmes();quit;end
-// test for uin ( a finir ) 
+// test for uin ( a finir )
 N=10000;A=1;B=10;
-Rdev=grand(1,N,'uin',A,B);
+Rdev=grand(1,N,"uin",A,B);
 RdevS=gsort(Rdev,"g","i")';
 PS=(1:N)'/N;
 [P]=RdevS-A;
 //TODO need an other test
 //if norm(P-PS) > prec then bugmes();quit;end
-// test for lgi 
+// test for lgi
 // This is a completely wrong test:
 // The output depends on the random number generator...
 N=10000;
-Rdev=grand(1,N,'lgi');
+Rdev=grand(1,N,"lgi");
 RdevS=gsort(Rdev,"g","i")';
 PS=(1:N)'/N;
 [P]=RdevS-A;
-//TODO need an other test 
+//TODO need an other test
 //if norm(P-PS) > prec then bugmes();quit;end
-// test for nbn 
+// test for nbn
 N=10000;A=5;B=0.7;
-Rdev=grand(1,N,'nbn',A,B);
+Rdev=grand(1,N,"nbn",A,B);
 RdevS=gsort(Rdev,"g","i")';
 PS=(1:N)'/N;
 [P]=cdfnbn("PQ",RdevS,A*ones(RdevS),B*ones(RdevS),(1-B)*ones(RdevS));
-//TODO need an other test 
+//TODO need an other test
 //if norm(P-PS) > prec then bugmes();quit;end
-// test for mn 
+// test for mn
 // TODO
 // test for 'def'
 N=10000;
-Rdev=grand(1,N,'def');
+Rdev=grand(1,N,"def");
 RdevS=gsort(Rdev,"g","i")';
 PS=(1:N)'/N;
 [P]=RdevS;
 if norm(P-PS) > prec then bugmes();quit;end
-// test for nch or chn 
+// test for nch or chn
 N=10000;A=5;B=4;
-Rdev=grand(1,N,'nch',A,B);
+Rdev=grand(1,N,"nch",A,B);
 RdevS=gsort(Rdev,"g","i")';
 PS=(1:N)'/N;
 [P]=cdfchn("PQ",RdevS,A*ones(RdevS),B*ones(RdevS));
 if norm(P-PS) > prec then bugmes();quit;end
 // test for nf or fnc
 N=10000;A=5;B=4;C=10;
-Rdev=grand(1,N,'nf',A,B,C);
+Rdev=grand(1,N,"nf",A,B,C);
 RdevS=gsort(Rdev,"g","i")';
 PS=(1:N)'/N;
 [P]=cdffnc("PQ",RdevS,A*ones(RdevS),B*ones(RdevS),C*ones(RdevS));
 if norm(P-PS) > prec then bugmes();quit;end
-// test for chi 
+// test for chi
 N=10000;A=5;
-Rdev=grand(1,N,'chi',A);
+Rdev=grand(1,N,"chi",A);
 RdevS=gsort(Rdev,"g","i")';
 PS=(1:N)'/N;
 [P]=cdfchi("PQ",RdevS,A*ones(RdevS));
index 7a3eb23..98e1f34 100644 (file)
@@ -1,6 +1,6 @@
 // =============================================================================
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) 2008 - INRIA - Sabine Gaüzere
+// Copyright (C) 2008 - INRIA - Sabine Gaüzere
 // Copyright (C) 2010 - DIGITEO - Michael Baudin
 //
 //  This file is distributed under the same license as the Scilab package.
@@ -8,7 +8,7 @@
 // <-- CLI SHELL MODE -->
 
 //
-// These tests makes comparisons between the empirical cumulated 
+// These tests makes comparisons between the empirical cumulated
 // distribution function and the theoretical distribution function.
 // They do not make use of the Chi-square distribution function,
 // and, therefore, are not Kolmogorov-Smirnov tests.
@@ -16,9 +16,9 @@
 // For each test, we can compare the two plots with the statements :
 // plot(RdevS,PS,"b-"); // Empirical distribution
 // plot(RdevS,P,"ro-"); // Theoretical distribution
-// 
+//
 // Not all distribution functions are tested.
-// Moreover, the comparison is not done for integer-based (piecewise) 
+// Moreover, the comparison is not done for integer-based (piecewise)
 // distribution functions.
 // This work is to be updated.
 //
@@ -29,145 +29,145 @@ grand("setsd",0);
 
 prec = 1;
 
-// test for exp 
+// test for exp
 
 for i=linspace(0.1,50,10)
-  N=10000;A=i;
-  Rdev=grand(1,N,'exp',A);
-  RdevS=gsort(Rdev,"g","i")';
-  PS=(1:N)'/N;
-  P=1-exp(-RdevS/A);
-  if norm(P-PS) > 2*prec then pause,end
+    N=10000;A=i;
+    Rdev=grand(1,N,"exp",A);
+    RdevS=gsort(Rdev,"g","i")';
+    PS=(1:N)'/N;
+    P=1-exp(-RdevS/A);
+    if norm(P-PS) > 2*prec then pause,end
 end
 
 
-// test for gamma 
+// test for gamma
 for i=linspace(1,15,4)
-  for j=linspace(1,15,4)
-    N=10000;A=i;B=j;
-    Rdev=grand(1,N,'gam',A,B); 
-    RdevS=gsort(Rdev,"g","i")';
-    PS=(1:N)'/N;
-    [P]=cdfgam("PQ",RdevS,A*ones(RdevS),B*ones(RdevS));
-    if norm(P-PS)> 2*prec then pause,end
-  end
+    for j=linspace(1,15,4)
+        N=10000;A=i;B=j;
+        Rdev=grand(1,N,"gam",A,B);
+        RdevS=gsort(Rdev,"g","i")';
+        PS=(1:N)'/N;
+        [P]=cdfgam("PQ",RdevS,A*ones(RdevS),B*ones(RdevS));
+        if norm(P-PS)> 2*prec then pause,end
+    end
 end
 
 
-// test for beta random deviate 
+// test for beta random deviate
 for i=linspace(1,20,4)
-  for j=linspace(1,20,4)
-    N=10000;A=i;B=j;
-    Rdev=grand(1,N,'bet',A,B); 
-    RdevS=gsort(Rdev,"g","i")';
-    PS=(1:N)'/N;
-    [P]=cdfbet("PQ",RdevS,1-RdevS,A*ones(RdevS),B*ones(RdevS));
-    if norm(P-PS)> 2*prec then pause,end
-  end
+    for j=linspace(1,20,4)
+        N=10000;A=i;B=j;
+        Rdev=grand(1,N,"bet",A,B);
+        RdevS=gsort(Rdev,"g","i")';
+        PS=(1:N)'/N;
+        [P]=cdfbet("PQ",RdevS,1-RdevS,A*ones(RdevS),B*ones(RdevS));
+        if norm(P-PS)> 2*prec then pause,end
+    end
 end
 
-// test for poi 
+// test for poi
 for i=floor(linspace(50,70,10))
-  N=10000;A=i;
-  Rdev=grand(1,N,'poi',A);
-  RdevS=gsort(Rdev,"g","i")';
-  PS=(1:N)'/N;
-  [P]=cdfpoi("PQ",RdevS,A*ones(RdevS));
-  // Need an other test P is piecewize linear and PS
-  // linear
-  //if norm(P-PS) > prec then pause,end
+    N=10000;A=i;
+    Rdev=grand(1,N,"poi",A);
+    RdevS=gsort(Rdev,"g","i")';
+    PS=(1:N)'/N;
+    [P]=cdfpoi("PQ",RdevS,A*ones(RdevS));
+    // Need an other test P is piecewize linear and PS
+    // linear
+    //if norm(P-PS) > prec then pause,end
 end
 
 
 N=100;A=5;B=0.7;
-Rdev=grand(N,N,'bin',A,B); 
+Rdev=grand(N,N,"bin",A,B);
 Rdev=matrix(Rdev,1,N^2);
 RdevS=gsort(Rdev,"g","i")';
 PS=(1:(N^2))'/(N^2);
 [P]=cdfbin("PQ",RdevS,A*ones(RdevS),B*ones(RdevS),(1-B)*ones(RdevS));
 //if norm(P-PS) > prec then pause,end
 
-// test for f 
+// test for f
 
 N=10000;A=1;B=3;
-Rdev=grand(1,N,'f',A,B); 
+Rdev=grand(1,N,"f",A,B);
 RdevS=gsort(Rdev,"g","i")';
 PS=(1:N)'/N;
 [P]=cdff("PQ",RdevS,A*ones(RdevS),B*ones(RdevS));
 if norm(P-PS) > prec then pause,end
 
 // test for mul
-// TODO 
+// TODO
 
-// test for nor 
+// test for nor
 
 N=10000;A=1;B=2;
-Rdev=grand(1,N,'nor',A,B); 
+Rdev=grand(1,N,"nor",A,B);
 RdevS=gsort(Rdev,"g","i")';
 PS=(1:N)'/N;
 [P]=cdfnor("PQ",RdevS,A*ones(RdevS),B*ones(RdevS));
 if norm(P-PS) > prec then pause,end
 
-// test for unf 
+// test for unf
 
 N=10000;A=1;B=2;
-Rdev=grand(1,N,'unf',A,B); 
+Rdev=grand(1,N,"unf",A,B);
 RdevS=gsort(Rdev,"g","i")';
 PS=(1:N)'/N;
 [P]=RdevS-A;
 if norm(P-PS) > prec then pause,end
 
-// test for uin ( a finir ) 
+// test for uin ( a finir )
 
 N=10000;A=1;B=10;
-Rdev=grand(1,N,'uin',A,B); 
+Rdev=grand(1,N,"uin",A,B);
 RdevS=gsort(Rdev,"g","i")';
 PS=(1:N)'/N;
 [P]=RdevS-A;
 //TODO need an other test
 //if norm(P-PS) > prec then pause,end
 
-// test for lgi 
+// test for lgi
 // This is a completely wrong test:
 // The output depends on the random number generator...
 N=10000;
-Rdev=grand(1,N,'lgi');
+Rdev=grand(1,N,"lgi");
 RdevS=gsort(Rdev,"g","i")';
 PS=(1:N)'/N;
 [P]=RdevS-A;
-//TODO need an other test 
+//TODO need an other test
 //if norm(P-PS) > prec then pause,end
 
 
 
-// test for nbn 
+// test for nbn
 
 N=10000;A=5;B=0.7;
-Rdev=grand(1,N,'nbn',A,B); 
+Rdev=grand(1,N,"nbn",A,B);
 RdevS=gsort(Rdev,"g","i")';
 PS=(1:N)'/N;
 [P]=cdfnbn("PQ",RdevS,A*ones(RdevS),B*ones(RdevS),(1-B)*ones(RdevS));
-//TODO need an other test 
+//TODO need an other test
 //if norm(P-PS) > prec then pause,end
 
 
 
-// test for mn 
+// test for mn
 // TODO
 
 // test for 'def'
 
 N=10000;
-Rdev=grand(1,N,'def');
+Rdev=grand(1,N,"def");
 RdevS=gsort(Rdev,"g","i")';
 PS=(1:N)'/N;
 [P]=RdevS;
 if norm(P-PS) > prec then pause,end
 
-// test for nch or chn 
+// test for nch or chn
 
 N=10000;A=5;B=4;
-Rdev=grand(1,N,'nch',A,B); 
+Rdev=grand(1,N,"nch",A,B);
 RdevS=gsort(Rdev,"g","i")';
 PS=(1:N)'/N;
 [P]=cdfchn("PQ",RdevS,A*ones(RdevS),B*ones(RdevS));
@@ -176,16 +176,16 @@ if norm(P-PS) > prec then pause,end
 // test for nf or fnc
 
 N=10000;A=5;B=4;C=10;
-Rdev=grand(1,N,'nf',A,B,C); 
+Rdev=grand(1,N,"nf",A,B,C);
 RdevS=gsort(Rdev,"g","i")';
 PS=(1:N)'/N;
 [P]=cdffnc("PQ",RdevS,A*ones(RdevS),B*ones(RdevS),C*ones(RdevS));
 if norm(P-PS) > prec then pause,end
 
-// test for chi 
+// test for chi
 
 N=10000;A=5;
-Rdev=grand(1,N,'chi',A);
+Rdev=grand(1,N,"chi",A);
 RdevS=gsort(Rdev,"g","i")';
 PS=(1:N)'/N;
 [P]=cdfchi("PQ",RdevS,A*ones(RdevS));
index 52bb06f..d34538a 100644 (file)
@@ -43,7 +43,7 @@ x = [
 410     233     25.9     72.3     11.1     16.6
 402     234     27.1     72.1     10.4     17.5
 400     223     26.8     70.3     13.5     16.2
-400     213     25.8     70.4     12.1     17.5 
+400     213     25.8     70.4     12.1     17.5
 ];
 [lambda,facpr,comprinc] = pca(x);
 scf();
index 502e4eb..76610a6 100644 (file)
@@ -14,7 +14,7 @@ show_pca(lambda,facpr);
 // Source :\r
 // http://cermics.enpc.fr/scilab_new/site/Tp/Statistique/acp/index.htm\r
 // Analyse en composantes principales\r
-// Jean-François DELMAS et Saad SALAM\r
+// Jean-François DELMAS et Saad SALAM\r
 // Weight of several parts of 23 cows\r
 // X1: weight (alive)\r
 // X2: skeleton weight\r
@@ -45,7 +45,7 @@ x = [
 410     233     25.9     72.3     11.1     16.6\r
 402     234     27.1     72.1     10.4     17.5\r
 400     223     26.8     70.3     13.5     16.2\r
-400     213     25.8     70.4     12.1     17.5 \r
+400     213     25.8     70.4     12.1     17.5\r
 ];\r
 [lambda,facpr,comprinc] = pca(x);\r
 scf();\r