Mercurial > hg > octave-terminal
changeset 291:d8f9567f9e41
[project @ 1994-01-15 21:43:28 by jwe]
author | jwe |
---|---|
date | Sat, 15 Jan 1994 21:43:28 +0000 |
parents | 5325afdb0ef5 |
children | e0b1d5ed15ab |
files | liboctave/Matrix.h |
diffstat | 1 files changed, 361 insertions(+), 93 deletions(-) [+] |
line wrap: on
line diff
--- a/liboctave/Matrix.h +++ b/liboctave/Matrix.h @@ -104,7 +104,10 @@ // Matrix (double a) : Array2<double> (1, 1, a) { } Matrix& operator = (const Matrix& a) - { return Array2<double>::operator = (a); } + { + Array2<double>::operator = (a); + return *this; + } int operator == (const Matrix& a) const; int operator != (const Matrix& a) const; @@ -298,6 +301,8 @@ class ColumnVector : public Array<double> { +friend class RowVector; + public: ColumnVector (void) : Array<double> () { } @@ -308,7 +313,10 @@ // ColumnVector (double a) : Array<double> (1, a) { } ColumnVector& operator = (const ColumnVector& a) - { return Array<double>::operator = (a); } + { + Array<double>::operator = (a); + return *this; + } // operator Array<double>& () const { return *this; } @@ -409,6 +417,8 @@ class RowVector : public Array<double> { +friend class ColumnVector; + public: RowVector (void) : Array<double> () { } @@ -419,7 +429,10 @@ // RowVector (double a) : Array<double> (1, a) { } RowVector& operator = (const RowVector& a) - { return Array<double>::operator = (a); } + { + Array<double>::operator = (a); + return *this; + } // operator Array<double>& () const { return *this; } @@ -533,7 +546,10 @@ // DiagMatrix (double a) : DiagArray<double> (1, a) { } DiagMatrix& operator = (const DiagMatrix& a) - { return DiagArray<double>::operator = (a); } + { + DiagArray<double>::operator = (a); + return *this; + } // operator DiagArray<double>& () const { return *this; } @@ -671,7 +687,10 @@ // ComplexMatrix (const Complex& a) : Array2<Complex> (1, 1, a) { } ComplexMatrix& operator = (const ComplexMatrix& a) - { return Array2<Complex>::operator = (a); } + { + Array2<Complex>::operator = (a); + return *this; + } // operator Array2<Complex>& () const { return *this; } @@ -892,6 +911,8 @@ class ComplexColumnVector : public Array<Complex> { +friend class ComplexRowVector; + public: ComplexColumnVector (void) : Array<Complex> () { } @@ -905,7 +926,10 @@ // ComplexColumnVector (const Complex& a) : Array<Complex> (1, a) { } ComplexColumnVector& operator = (const ComplexColumnVector& a) - { return Array<Complex>::operator = (a); } + { + Array<Complex>::operator = (a); + return *this; + } // operator Array<Complex>& () const { return *this; } @@ -1015,6 +1039,8 @@ class ComplexRowVector : public Array<Complex> { +friend class ComplexColumnVector; + public: ComplexRowVector (void) : Array<Complex> () { } @@ -1027,7 +1053,10 @@ // ComplexRowVector (const Complex& a) : Array<Complex> (1, a) { } ComplexRowVector& operator = (const ComplexRowVector& a) - { return Array<Complex>::operator = (a); } + { + Array<Complex>::operator = (a); + return *this; + } // operator Array<Complex>& () const { return *this; } @@ -1157,7 +1186,10 @@ // ComplexDiagMatrix (const Complex& a) : DiagArray<Complex> (1, a) { } ComplexDiagMatrix& operator = (const ComplexDiagMatrix& a) - { return DiagArray<Complex>::operator = (a); } + { + DiagArray<Complex>::operator = (a); + return *this; + } // operator DiagArray<Complex>& () const { return *this; } @@ -1341,11 +1373,16 @@ return *this; } + inline Matrix AEPBALANCE::balanced_matrix (void) const - { return balanced_mat; } +{ + return balanced_mat; +} inline Matrix AEPBALANCE::balancing_matrix (void) const - { return balancing_mat; } +{ + return balancing_mat; +} /* * Result of a Complex balancing operation @@ -1377,7 +1414,7 @@ inline ComplexAEPBALANCE::ComplexAEPBALANCE (const ComplexMatrix& a, const char * balance_job) { - init(a, balance_job); + init (a, balance_job); } inline ComplexAEPBALANCE::ComplexAEPBALANCE (const ComplexAEPBALANCE& a) @@ -1396,10 +1433,14 @@ } inline ComplexMatrix ComplexAEPBALANCE::balanced_matrix (void) const - { return balanced_mat; } +{ + return balanced_mat; +} inline ComplexMatrix ComplexAEPBALANCE::balancing_matrix (void) const - { return balancing_mat; } +{ + return balancing_mat; +} /* * Result of a Determinant calculation. @@ -1430,12 +1471,24 @@ double det [2]; }; -inline DET::DET (const DET& a) { det[0] = a.det[0]; det[1] = a.det[1]; } +inline DET::DET (const DET& a) +{ + det[0] = a.det[0]; + det[1] = a.det[1]; +} inline DET& DET::operator = (const DET& a) - { det[0] = a.det[0]; det[1] = a.det[1]; return *this; } - -inline DET::DET (const double *d) { det[0] = d[0]; det[1] = d[1]; } +{ + det[0] = a.det[0]; + det[1] = a.det[1]; + return *this; +} + +inline DET::DET (const double *d) +{ + det[0] = d[0]; + det[1] = d[1]; +} /* * Result of a Determinant calculation. @@ -1467,13 +1520,23 @@ }; inline ComplexDET::ComplexDET (const ComplexDET& a) - { det[0] = a.det[0]; det[1] = a.det[1]; } +{ + det[0] = a.det[0]; + det[1] = a.det[1]; +} inline ComplexDET& ComplexDET::operator = (const ComplexDET& a) - { det[0] = a.det[0]; det[1] = a.det[1]; return *this; } +{ + det[0] = a.det[0]; + det[1] = a.det[1]; + return *this; +} inline ComplexDET::ComplexDET (const Complex *d) - { det[0] = d[0]; det[1] = d[1]; } +{ + det[0] = d[0]; + det[1] = d[1]; +} /* * Result of a GEP Balance operation @@ -1511,7 +1574,7 @@ }; inline GEPBALANCE::GEPBALANCE (const Matrix& a, const Matrix& b, - const char * balance_job) + const char * balance_job) { init (a, b, balance_job); } @@ -1536,16 +1599,24 @@ } inline Matrix GEPBALANCE::balanced_a_matrix (void) const - { return balanced_a_mat; } +{ + return balanced_a_mat; +} inline Matrix GEPBALANCE::balanced_b_matrix (void) const - { return balanced_b_mat; } +{ + return balanced_b_mat; +} inline Matrix GEPBALANCE::left_balancing_matrix (void) const - { return left_balancing_mat; } +{ + return left_balancing_mat; +} inline Matrix GEPBALANCE::right_balancing_matrix (void) const - { return right_balancing_mat; } +{ + return right_balancing_mat; +} /* * Result of a Cholesky Factorization @@ -1575,9 +1646,20 @@ Matrix chol_mat; }; -inline CHOL::CHOL (const Matrix& a) {init (a); } -inline CHOL::CHOL (const Matrix& a, int& info) { info = init (a); } -inline CHOL::CHOL (const CHOL& a) { chol_mat = a.chol_mat; } +inline CHOL::CHOL (const Matrix& a) +{ + init (a); +} + +inline CHOL::CHOL (const Matrix& a, int& info) +{ + info = init (a); +} + +inline CHOL::CHOL (const CHOL& a) +{ + chol_mat = a.chol_mat; +} inline CHOL& CHOL::operator = (const CHOL& a) @@ -1615,12 +1697,20 @@ ComplexMatrix chol_mat; }; -inline ComplexCHOL::ComplexCHOL (const ComplexMatrix& a) { init (a); } +inline ComplexCHOL::ComplexCHOL (const ComplexMatrix& a) +{ + init (a); +} + inline ComplexCHOL::ComplexCHOL (const ComplexMatrix& a, int& info) - { info = init (a); } +{ + info = init (a); +} inline ComplexCHOL::ComplexCHOL (const ComplexCHOL& a) - { chol_mat = a.chol_mat; } +{ + chol_mat = a.chol_mat; +} inline ComplexCHOL& ComplexCHOL::operator = (const ComplexCHOL& a) @@ -1631,7 +1721,9 @@ } inline ComplexMatrix ComplexCHOL::chol_matrix (void) const - { return chol_mat; } +{ + return chol_mat; +} /* @@ -1664,8 +1756,15 @@ Matrix unitary_hess_mat; }; -inline HESS::HESS (const Matrix& a) {init (a); } -inline HESS::HESS (const Matrix& a, int& info) { info = init(a); } +inline HESS::HESS (const Matrix& a) +{ + init (a); +} + +inline HESS::HESS (const Matrix& a, int& info) +{ + info = init (a); +} inline HESS::HESS (const HESS& a) { @@ -1682,8 +1781,15 @@ return *this; } -inline Matrix HESS::hess_matrix (void) const { return hess_mat; } -inline Matrix HESS::unitary_hess_matrix (void) const {return unitary_hess_mat;} +inline Matrix HESS::hess_matrix (void) const +{ + return hess_mat; +} + +inline Matrix HESS::unitary_hess_matrix (void) const +{ + return unitary_hess_mat; +} /* * Result of a Hessenberg Decomposition @@ -1713,9 +1819,15 @@ ComplexMatrix unitary_hess_mat; }; -inline ComplexHESS::ComplexHESS (const ComplexMatrix& a) { init(a); } +inline ComplexHESS::ComplexHESS (const ComplexMatrix& a) +{ + init (a); +} + inline ComplexHESS::ComplexHESS (const ComplexMatrix& a, int& info) - { info = init(a); } +{ + info = init (a); +} inline ComplexHESS::ComplexHESS (const ComplexHESS& a) { @@ -1733,10 +1845,14 @@ } inline ComplexMatrix ComplexHESS::hess_matrix (void) const - { return hess_mat; } +{ + return hess_mat; +} inline ComplexMatrix ComplexHESS::unitary_hess_matrix (void) const - { return unitary_hess_mat; } +{ + return unitary_hess_mat; +} /* * Result of a Schur Decomposition @@ -1770,9 +1886,15 @@ Matrix unitary_mat; }; -inline SCHUR::SCHUR (const Matrix& a, const char *ord) { init (a, ord); } +inline SCHUR::SCHUR (const Matrix& a, const char *ord) +{ + init (a, ord); +} + inline SCHUR::SCHUR (const Matrix& a, const char *ord, int& info) - { info = init (a, ord); } +{ + info = init (a, ord); +} inline SCHUR::SCHUR (const SCHUR& a, const char *ord) { @@ -1789,8 +1911,15 @@ return *this; } -inline Matrix SCHUR::schur_matrix (void) const { return schur_mat; } -inline Matrix SCHUR::unitary_matrix (void) const { return unitary_mat; } +inline Matrix SCHUR::schur_matrix (void) const +{ + return schur_mat; +} + +inline Matrix SCHUR::unitary_matrix (void) const +{ + return unitary_mat; +} /* * Result of a Schur Decomposition @@ -1825,11 +1954,15 @@ }; inline ComplexSCHUR::ComplexSCHUR (const ComplexMatrix& a, const char *ord) - { init (a,ord); } +{ + init (a,ord); +} inline ComplexSCHUR::ComplexSCHUR (const ComplexMatrix& a, const char *ord, int& info) - { info = init (a,ord); } +{ + info = init (a,ord); +} inline ComplexSCHUR::ComplexSCHUR (const ComplexSCHUR& a, const char *ord) { @@ -1847,10 +1980,14 @@ } inline ComplexMatrix ComplexSCHUR::schur_matrix (void) const - { return schur_mat; } +{ + return schur_mat; +} inline ComplexMatrix ComplexSCHUR::unitary_matrix (void) const - { return unitary_mat; } +{ + return unitary_mat; +} /* @@ -1887,8 +2024,15 @@ Matrix right_sm; }; -inline SVD::SVD (const Matrix& a) { init (a); } -inline SVD::SVD (const Matrix& a, int& info) { info = init (a); } +inline SVD::SVD (const Matrix& a) +{ + init (a); +} + +inline SVD::SVD (const Matrix& a, int& info) +{ + info = init (a); +} inline SVD::SVD (const SVD& a) { @@ -1907,9 +2051,20 @@ return *this; } -inline DiagMatrix SVD::singular_values (void) const { return sigma; } -inline Matrix SVD::left_singular_matrix (void) const { return left_sm; } -inline Matrix SVD::right_singular_matrix (void) const { return right_sm; } +inline DiagMatrix SVD::singular_values (void) const +{ + return sigma; +} + +inline Matrix SVD::left_singular_matrix (void) const +{ + return left_sm; +} + +inline Matrix SVD::right_singular_matrix (void) const +{ + return right_sm; +} /* * Result of a Singular Value Decomposition. @@ -1945,9 +2100,15 @@ ComplexMatrix right_sm; }; -inline ComplexSVD::ComplexSVD (const ComplexMatrix& a) { init (a); } +inline ComplexSVD::ComplexSVD (const ComplexMatrix& a) +{ + init (a); +} + inline ComplexSVD::ComplexSVD (const ComplexMatrix& a, int& info) - { info = init (a); } +{ + info = init (a); +} inline ComplexSVD::ComplexSVD (const ComplexSVD& a) { @@ -1967,13 +2128,19 @@ } inline DiagMatrix ComplexSVD::singular_values (void) const - { return sigma; } +{ + return sigma; +} inline ComplexMatrix ComplexSVD::left_singular_matrix (void) const - { return left_sm; } +{ + return left_sm; +} inline ComplexMatrix ComplexSVD::right_singular_matrix (void) const - { return right_sm; } +{ + return right_sm; +} /* * Result of an Eigenvalue computation. @@ -2012,20 +2179,48 @@ ComplexMatrix v; }; -inline EIG::EIG (const Matrix& a) { init (a); } -inline EIG::EIG (const Matrix& a, int& info) { info = init (a); } - -inline EIG::EIG (const ComplexMatrix& a) { init (a); } -inline EIG::EIG (const ComplexMatrix& a, int& info) { info = init (a); } - -inline EIG::EIG (const EIG& a) { lambda = a.lambda; v = a.v; } +inline EIG::EIG (const Matrix& a) +{ + init (a); +} + +inline EIG::EIG (const Matrix& a, int& info) +{ + info = init (a); +} + +inline EIG::EIG (const ComplexMatrix& a) +{ + init (a); +} + +inline EIG::EIG (const ComplexMatrix& a, int& info) +{ + info = init (a); +} + +inline EIG::EIG (const EIG& a) +{ + lambda = a.lambda; + v = a.v; +} inline EIG& EIG::operator = (const EIG& a) - { lambda = a.lambda; v = a.v; return *this; } - -inline ComplexColumnVector EIG::eigenvalues (void) const { return lambda; } - -inline ComplexMatrix EIG::eigenvectors (void) const { return v; } +{ + lambda = a.lambda; + v = a.v; + return *this; +} + +inline ComplexColumnVector EIG::eigenvalues (void) const +{ + return lambda; +} + +inline ComplexMatrix EIG::eigenvectors (void) const +{ + return v; +} /* * Result of an LU decomposition. @@ -2058,14 +2253,35 @@ Matrix p; }; -inline LU::LU (const LU& a) { l = a.l; u = a.u; p = a.p; } +inline LU::LU (const LU& a) +{ + l = a.l; + u = a.u; + p = a.p; +} inline LU& LU::operator = (const LU& a) - { l = a.l; u = a.u; p = a.p; return *this; } - -inline Matrix LU::L (void) const { return l; } -inline Matrix LU::U (void) const { return u; } -inline Matrix LU::P (void) const { return p; } +{ + l = a.l; + u = a.u; + p = a.p; + return *this; +} + +inline Matrix LU::L (void) const +{ + return l; +} + +inline Matrix LU::U (void) const +{ + return u; +} + +inline Matrix LU::P (void) const +{ + return p; +} class ComplexLU { @@ -2094,14 +2310,35 @@ Matrix p; }; -inline ComplexLU::ComplexLU (const ComplexLU& a) { l = a.l; u = a.u; p = a.p; } +inline ComplexLU::ComplexLU (const ComplexLU& a) +{ + l = a.l; + u = a.u; + p = a.p; +} inline ComplexLU& ComplexLU::operator = (const ComplexLU& a) - { l = a.l; u = a.u; p = a.p; return *this; } - -inline ComplexMatrix ComplexLU::L (void) const { return l; } -inline ComplexMatrix ComplexLU::U (void) const { return u; } -inline Matrix ComplexLU::P (void) const { return p; } +{ + l = a.l; + u = a.u; + p = a.p; + return *this; +} + +inline ComplexMatrix ComplexLU::L (void) const +{ + return l; +} + +inline ComplexMatrix ComplexLU::U (void) const +{ + return u; +} + +inline Matrix ComplexLU::P (void) const +{ + return p; +} /* * Result of a QR decomposition. @@ -2130,12 +2367,28 @@ Matrix r; }; -inline QR::QR (const QR& a) { q = a.q; r = a.r; } - -inline QR& QR::operator = (const QR& a) { q = a.q; r = a.r; return *this; } - -inline Matrix QR::Q (void) const { return q; } -inline Matrix QR::R (void) const { return r; } +inline QR::QR (const QR& a) +{ + q = a.q; + r = a.r; +} + +inline QR& QR::operator = (const QR& a) +{ + q = a.q; + r = a.r; + return *this; +} + +inline Matrix QR::Q (void) const +{ + return q; +} + +inline Matrix QR::R (void) const +{ + return r; +} class ComplexQR { @@ -2160,13 +2413,28 @@ ComplexMatrix r; }; -inline ComplexQR::ComplexQR (const ComplexQR& a) { q = a.q; r = a.r; } +inline ComplexQR::ComplexQR (const ComplexQR& a) +{ + q = a.q; + r = a.r; +} inline ComplexQR& ComplexQR::operator = (const ComplexQR& a) - { q = a.q; r = a.r; return *this; } - -inline ComplexMatrix ComplexQR::Q (void) const { return q; } -inline ComplexMatrix ComplexQR::R (void) const { return r; } +{ + q = a.q; + r = a.r; + return *this; +} + +inline ComplexMatrix ComplexQR::Q (void) const +{ + return q; +} + +inline ComplexMatrix ComplexQR::R (void) const +{ + return r; +} #endif