Mercurial > hg > octave-lyh
diff liboctave/dDiagMatrix.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 | 445d27d79f4e |
line wrap: on
line diff
--- a/liboctave/dDiagMatrix.h +++ b/liboctave/dDiagMatrix.h @@ -50,6 +50,9 @@ DiagMatrix (const MDiagArray2<double>& a) : MDiagArray2<double> (a) { } + template <class U> + DiagMatrix (const DiagArray2<U>& a) : MDiagArray2<double> (a) { } + explicit DiagMatrix (const RowVector& a) : MDiagArray2<double> (a) { } explicit DiagMatrix (const ColumnVector& a) : MDiagArray2<double> (a) { } @@ -71,6 +74,7 @@ DiagMatrix& fill (const RowVector& a, octave_idx_type beg); DiagMatrix transpose (void) const { return MDiagArray2<double>::transpose(); } + DiagMatrix abs (void) const; friend OCTAVE_API DiagMatrix real (const ComplexDiagMatrix& a); friend OCTAVE_API DiagMatrix imag (const ComplexDiagMatrix& a); @@ -103,6 +107,9 @@ DiagMatrix (double *d, octave_idx_type nr, octave_idx_type nc) : MDiagArray2<double> (d, nr, nc) { } }; +OCTAVE_API DiagMatrix real (const ComplexDiagMatrix& a); +OCTAVE_API DiagMatrix imag (const ComplexDiagMatrix& a); + // diagonal matrix by diagonal matrix -> diagonal matrix operations DiagMatrix