Mercurial > hg > octave-nkf
diff liboctave/CDiagMatrix.h @ 8366:8b1a2555c4e2
implement diagonal matrix objects
* * *
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Wed, 03 Dec 2008 13:32:57 +0100 |
parents | 82be108cc558 |
children | c3f7e2549abb |
line wrap: on
line diff
--- a/liboctave/CDiagMatrix.h +++ b/liboctave/CDiagMatrix.h @@ -65,6 +65,10 @@ ComplexDiagMatrix (const ComplexDiagMatrix& a) : MDiagArray2<Complex> (a) { } + template <class U> + ComplexDiagMatrix (const DiagArray2<U>& a) + : MDiagArray2<Complex> (a) { } + ComplexDiagMatrix& operator = (const ComplexDiagMatrix& a) { MDiagArray2<Complex>::operator = (a); @@ -89,6 +93,7 @@ ComplexDiagMatrix hermitian (void) const { return MDiagArray2<Complex>::hermitian (std::conj); } ComplexDiagMatrix transpose (void) const { return MDiagArray2<Complex>::transpose(); } + DiagMatrix abs (void) const; friend ComplexDiagMatrix conj (const ComplexDiagMatrix& a); @@ -107,6 +112,8 @@ ComplexDiagMatrix inverse (int& info) const; ComplexDiagMatrix inverse (void) const; + bool all_elements_are_real (void) const; + // diagonal matrix by diagonal matrix -> diagonal matrix operations ComplexDiagMatrix& operator += (const DiagMatrix& a); @@ -126,6 +133,8 @@ : MDiagArray2<Complex> (d, nr, nc) { } }; +ComplexDiagMatrix conj (const ComplexDiagMatrix& a); + // diagonal matrix by diagonal matrix -> diagonal matrix operations ComplexDiagMatrix