diff liboctave/dMatrix.cc @ 2561:96b57a9485b6

[project @ 1996-12-04 18:26:33 by jwe]
author jwe
date Wed, 04 Dec 1996 18:26:33 +0000
parents 170053c0f75e
children 3723512a827a
line wrap: on
line diff
--- a/liboctave/dMatrix.cc
+++ b/liboctave/dMatrix.cc
@@ -3228,10 +3228,10 @@
 	      double *palfr = alfr.fortran_vec ();
 
 	      ColumnVector alfi (a_nr);
-	      double *palfi = alfr.fortran_vec ();
+	      double *palfi = alfi.fortran_vec ();
 
 	      ColumnVector beta (a_nr);
-	      double *pbeta = alfr.fortran_vec ();
+	      double *pbeta = beta.fortran_vec ();
 
 	      Matrix atmp = a;
 	      double *pa = atmp.fortran_vec ();
@@ -3259,22 +3259,20 @@
 		  int cnt = 0;
 
 		  for (int i = 0; i < a_nr; i++)
-		    if (beta.elem (i) != 0)
+		    if (beta(i) != 0)
 		      cnt++;
 
-		  ComplexColumnVector cx (cnt, 0.0);
-
-		  Complex Im (0, 1);
+		  ComplexColumnVector cx (cnt);
+
+		  cnt = 0;
 
 		  for (int i = 0; i < a_nr; i++)
 		    {
-		      if (beta.elem (i) != 0)
+		      if (beta(i) != 0)
 			{
 			  // Finite generalized eigenvalue.
 
-			  cnt--;
-			  cx.elem (cnt) = (alfr.elem (i) + Im * alfi.elem (i))
-			    / beta.elem (i);
+			  cx(cnt++) = Complex (alfr(i), alfi(i)) / beta(i);
 			}
 		    }