comparison liboctave/CDiagMatrix.cc @ 8840:c690e3772583

support diagonal matrices in pinv
author Jaroslav Hajek <highegg@gmail.com>
date Mon, 23 Feb 2009 14:54:56 +0100
parents 20dfb885f877
children eb63fbe60fab
comparison
equal deleted inserted replaced
8839:fcba62cc4549 8840:c690e3772583
380 info = -1; 380 info = -1;
381 return *this; 381 return *this;
382 } 382 }
383 else 383 else
384 retval.elem (i, i) = 1.0 / elem (i, i); 384 retval.elem (i, i) = 1.0 / elem (i, i);
385 }
386
387 return retval;
388 }
389
390 ComplexDiagMatrix
391 ComplexDiagMatrix::pseudo_inverse (void) const
392 {
393 octave_idx_type r = rows ();
394 octave_idx_type c = cols ();
395 octave_idx_type len = length ();
396
397 ComplexDiagMatrix retval (c, r);
398
399 for (octave_idx_type i = 0; i < len; i++)
400 {
401 if (elem (i, i) != 0.0)
402 retval.elem (i, i) = 1.0 / elem (i, i);
403 else
404 retval.elem (i, i) = 0.0;
385 } 405 }
386 406
387 return retval; 407 return retval;
388 } 408 }
389 409