Chapter 4: Matrix and Vector Operations                                29
ComplexColumnVector operator + (const ComplexColumnVector &a, const
        ColumnVector &b)
ComplexColumnVector operator - (const ComplexColumnVector &a, const
        ColumnVector &b)
ComplexColumnVector product (const ComplexColumnVector &a, const
        ColumnVector &b)
ComplexColumnVector quotient (const ComplexColumnVector &a, const
        ColumnVector &b)
ComplexColumnVector map (c c Mapper f, const ComplexColumnVector &a)
ColumnVector map (d c Mapper f, const ComplexColumnVector &a)
void map (c c Mapper f)
Complex min (void) const
Complex max (void) const
ostream& operator << (ostream &os, const ComplexColumnVector &a)
ComplexRowVector    (void)
ComplexRowVector    (int n)
ComplexRowVector    (int n, const Complex &val)
ComplexRowVector    (const RowVector &a)
ComplexRowVector    (const Array<Complex> &a)
ComplexRowVector    (const ComplexRowVector &a)
ComplexRowVector& operator = (const ComplexRowVector &a)
int operator == (const ComplexRowVector &a) const
int operator != (const ComplexRowVector &a) const
ComplexRowVector& insert (const RowVector &a, int c)
ComplexRowVector& insert (const ComplexRowVector &a, int c)
ComplexRowVector&    fill   (double val)
ComplexRowVector&    fill   (const Complex &val)
ComplexRowVector&    fill   (double val, int c1, int c2)
ComplexRowVector&    fill   (const Complex &val, int c1, int c2)
ComplexRowVector append (const RowVector &a) const
ComplexRowVector append (const ComplexRowVector &a) const
ComplexColumnVector transpose (void) const
RowVector real (const ComplexRowVector &a)
RowVector imag (const ComplexRowVector &a)
ComplexRowVector conj (const ComplexRowVector &a)
ComplexRowVector extract (int c1, int c2) const
ComplexRowVector& operator += (const RowVector &a)
ComplexRowVector& operator -= (const RowVector &a)
ComplexRowVector& operator += (const ComplexRowVector &a)
ComplexRowVector& operator -= (const ComplexRowVector &a)
ComplexRowVector operator + (const ComplexRowVector &a, double s)
Chapter 4: Matrix and Vector Operations                                            30
ComplexRowVector operator - (const ComplexRowVector &a, double s)
ComplexRowVector operator * (const ComplexRowVector &a, double s)
ComplexRowVector operator / (const ComplexRowVector &a, double s)
ComplexRowVector    operator   +   (double   s,   const   ComplexRowVector   &a)
ComplexRowVector    operator   -   (double   s,   const   ComplexRowVector   &a)
ComplexRowVector    operator   *   (double   s,   const   ComplexRowVector   &a)
ComplexRowVector    operator   /   (double   s,   const   ComplexRowVector   &a)
Complex operator * (const ComplexRowVector &a, const ColumnVector &b)
Complex operator * (const ComplexRowVector &a, const
        ComplexColumnVector &b)
ComplexRowVector operator * (const ComplexRowVector &a, const
        ComplexMatrix &b)
ComplexRowVector operator + (const ComplexRowVector &a, const
        RowVector &b)
ComplexRowVector operator - (const ComplexRowVector &a, const
        RowVector &b)
ComplexRowVector product (const ComplexRowVector &a, const RowVector
        &b)
ComplexRowVector quotient (const ComplexRowVector &a, const
        RowVector &b)
ComplexRowVector map (c c Mapper f, const ComplexRowVector &a)
RowVector map (d c Mapper f, const ComplexRowVector &a)
void map (c c Mapper f)
Complex min (void) const
Complex max (void) const
ostream& operator << (ostream &os, const ComplexRowVector &a)
ComplexDiagMatrix    (void)
ComplexDiagMatrix    (int n)
ComplexDiagMatrix    (int n, const Complex &val)
ComplexDiagMatrix    (int r, int c)
ComplexDiagMatrix    (int r, int c, const Complex &val)
ComplexDiagMatrix    (const RowVector &a)
ComplexDiagMatrix    (const ComplexRowVector &a)
ComplexDiagMatrix    (const ColumnVector &a)
ComplexDiagMatrix    (const ComplexColumnVector &a)
ComplexDiagMatrix    (const DiagMatrix &a)
ComplexDiagMatrix    (const DiagArray<Complex> &a)
ComplexDiagMatrix    (const ComplexDiagMatrix &a)
ComplexDiagMatrix& operator = (const ComplexDiagMatrix &a)
int operator == (const ComplexDiagMatrix &a) const
int operator != (const ComplexDiagMatrix &a) const
ComplexDiagMatrix& fill (double val)
Chapter 4: Matrix and Vector Operations                                 31
ComplexDiagMatrix&     fill   (const Complex &val)
ComplexDiagMatrix&     fill   (double val, int beg, int end)
ComplexDiagMatrix&     fill   (const Complex &val, int beg, int end)
ComplexDiagMatrix&     fill   (const ColumnVector &a)
ComplexDiagMatrix&     fill   (const ComplexColumnVector &a)
ComplexDiagMatrix&     fill   (const RowVector &a)
ComplexDiagMatrix&     fill   (const ComplexRowVector &a)
ComplexDiagMatrix&     fill   (const ColumnVector &a, int beg)
ComplexDiagMatrix&     fill   (const ComplexColumnVector &a, int beg)
ComplexDiagMatrix&     fill   (const RowVector &a, int beg)
ComplexDiagMatrix&     fill   (const ComplexRowVector &a, int beg)
ComplexDiagMatrix transpose (void) const
DiagMatrix real (const ComplexDiagMatrix &a)
DiagMatrix imag (const ComplexDiagMatrix &a)
ComplexDiagMatrix conj (const ComplexDiagMatrix &a)
ComplexMatrix extract (int r1, int c1, int r2, int c2) const
ComplexRowVector row (int i) const
ComplexRowVector row (char *s) const
ComplexColumnVector column (int i) const
ComplexColumnVector column (char *s) const
ComplexDiagMatrix inverse (int &info) const
ComplexDiagMatrix inverse (void) const
ComplexDiagMatrix& operator += (const DiagMatrix &a)
ComplexDiagMatrix& operator -= (const DiagMatrix &a)
ComplexDiagMatrix& operator += (const ComplexDiagMatrix &a)
ComplexDiagMatrix& operator -= (const ComplexDiagMatrix &a)
ComplexMatrix operator + (const ComplexDiagMatrix &a, double s)
ComplexMatrix operator - (const ComplexDiagMatrix &a, double s)
ComplexMatrix operator + (const ComplexDiagMatrix &a, const Complex
        &s)
ComplexMatrix operator - (const ComplexDiagMatrix &a, const Complex
        &s)
ComplexDiagMatrix operator * (const ComplexDiagMatrix &a, double s)
ComplexDiagMatrix operator / (const ComplexDiagMatrix &a, double s)
ComplexMatrix operator + (double s, const ComplexDiagMatrix &a)
ComplexMatrix operator - (double s, const ComplexDiagMatrix &a)
ComplexMatrix operator + (const Complex &s, const ComplexDiagMatrix
        &a)
ComplexMatrix operator - (const Complex &s, const ComplexDiagMatrix
        &a)
ComplexDiagMatrix operator * (double s, const ComplexDiagMatrix &a)
                                                                         32
ComplexColumnVector operator * (const ComplexDiagMatrix &a, const
        ColumnVector &b)
ComplexColumnVector operator * (const ComplexDiagMatrix &a, const
        ComplexColumnVector &b)
ComplexDiagMatrix operator + (const ComplexDiagMatrix &a, const
        DiagMatrix &b)
ComplexDiagMatrix operator - (const ComplexDiagMatrix &a, const
        DiagMatrix &b)
ComplexDiagMatrix product (const ComplexDiagMatrix &a, const
        DiagMatrix &b)
ComplexMatrix operator + (const ComplexDiagMatrix &a, const Matrix &b)
ComplexMatrix operator - (const ComplexDiagMatrix &a, const Matrix &b)
ComplexMatrix operator * (const ComplexDiagMatrix &a, const Matrix &b)
ComplexMatrix operator + (const ComplexDiagMatrix &a, const
        ComplexMatrix &b)
ComplexMatrix operator - (const ComplexDiagMatrix &a, const
        ComplexMatrix &b)
ComplexMatrix operator * (const ComplexDiagMatrix &a, const
        ComplexMatrix &b)
ComplexColumnVector diag (void) const
ComplexColumnVector diag (int k) const
ostream& operator << (ostream &os, const ComplexDiagMatrix &a)
                                                                        33
5 Matrix Factorizations
AEPBALANCE (void)
AEPBALANCE (const Matrix &a, const char *balance_job)
AEPBALANCE (const AEPBALANCE &a)
AEPBALANCE& operator = (const AEPBALANCE &a)
Matrix balanced_matrix (void) const
Matrix balancing_matrix (void) const
ostream& operator << (ostream &os, const AEPBALANCE &a)
ComplexAEPBALANCE (void)
ComplexAEPBALANCE (const ComplexMatrix &a, const char *balance_job)
ComplexAEPBALANCE (const ComplexAEPBALANCE &a)
ComplexAEPBALANCE& operator = (const ComplexAEPBALANCE &a)
ComplexMatrix balanced_matrix (void) const
ComplexMatrix balancing_matrix (void) const
ostream& operator << (ostream &os, const ComplexAEPBALANCE &a)
DET (void)
DET (const DET &a)
DET& operator = (const DET &a)
int value_will_overflow (void) const
int value_will_underflow (void) const
double coefficient (void) const
int exponent (void) const
double value (void) const
ostream& operator << (ostream &os, const DET &a)
ComplexDET (void)
ComplexDET (const ComplexDET &a)
ComplexDET& operator = (const ComplexDET &a)
int value_will_overflow (void) const
int value_will_underflow (void) const
Complex coefficient (void) const
int exponent (void) const
Complex value (void) const
ostream& operator << (ostream &os, const ComplexDET &a)
GEPBALANCE (void)
GEPBALANCE (const Matrix &a, const Matrix &, const char *balance_job)
GEPBALANCE (const GEPBALANCE &a)
GEPBALANCE& operator = (const GEPBALANCE &a)
Chapter 5: Matrix Factorizations                           34
Matrix   balanced_a_matrix (void) const
Matrix   balanced_b_matrix (void) const
Matrix   left_balancing_matrix (void) const
Matrix   right_balancing_matrix (void) const
ostream& operator << (ostream &os, const GEPBALANCE &a)
CHOL   (void)
CHOL   (const Matrix &a)
CHOL   (const Matrix &a, int &info)
CHOL   (const CHOL &a)
CHOL& operator = (const CHOL &a)
Matrix chol_matrix (void) const
ostream& operator << (ostream &os, const CHOL &a)
ComplexCHOL   (void)
ComplexCHOL   (const ComplexMatrix &a)
ComplexCHOL   (const ComplexMatrix &a, int &info)
ComplexCHOL   (const ComplexCHOL &a)
ComplexCHOL& operator = (const ComplexCHOL &a)
ComplexMatrix chol_matrix (void) const
ostream& operator << (ostream &os, const ComplexCHOL &a)
HESS   (void)
HESS   (const Matrix &a)
HESS   (const Matrix&a, int &info)
HESS   (const HESS &a)
HESS& operator = (const HESS &a)
Matrix hess_matrix (void) const
Matrix unitary_hess_matrix (void) const
ostream& operator << (ostream &os, const HESS &a)
ComplexHESS   (void)
ComplexHESS   (const ComplexMatrix &a)
ComplexHESS   (const ComplexMatrix &a, int &info)
ComplexHESS   (const ComplexHESS &a)
ComplexHESS& operator = (const ComplexHESS &a)
ComplexMatrix hess_matrix (void) const
ComplexMatrix unitary_hess_matrix (void) const
ostream& operator << (ostream &os, const ComplexHESS &a)
SCHUR   (void)
SCHUR   (const Matrix &a, const char *ord)
SCHUR   (const Matrix &a, const char *ord, int &info)
SCHUR   (const SCHUR &a, const char *ord)
SCHUR& operator = (const SCHUR &a)
Chapter 5: Matrix Factorizations                                         35
Matrix schur_matrix (void) const
Matrix unitary_matrix (void) const
ostream& operator << (ostream &os, const SCHUR &a)
ComplexSCHUR      (void)
ComplexSCHUR      (const ComplexMatrix &a, const char *ord)
ComplexSCHUR      (const ComplexMatrix &a, const char *ord, int &info)
ComplexSCHUR      (const ComplexSCHUR &a, const char *ord)
ComplexSCHUR& operator = (const ComplexSCHUR &a)
ComplexMatrix schur_matrix (void) const
ComplexMatrix unitary_matrix (void) const
ostream& operator << (ostream &os, const ComplexSCHUR &a)
SVD   (void)
SVD   (const Matrix &a)
SVD   (const Matrix &a, int &info)
SVD   (const SVD &a)
SVD& operator = (const SVD &a)
DiagMatrix singular_values (void) const
Matrix left_singular_matrix (void) const
Matrix right_singular_matrix (void) const
ostream& operator << (ostream &os, const SVD &a)
ComplexSVD      (void)
ComplexSVD      (const ComplexMatrix &a)
ComplexSVD      (const ComplexMatrix &a, int &info)
ComplexSVD      (const ComplexSVD &a)
ComplexSVD& operator = (const ComplexSVD &a)
DiagMatrix singular_values (void) const
ComplexMatrix left_singular_matrix (void) const
ComplexMatrix right_singular_matrix (void) const
ostream& operator << (ostream &os, const ComplexSVD &a)
EIG   (void)
EIG   (const   Matrix &a)
EIG   (const   Matrix &a, int &info)
EIG   (const   ComplexMatrix &a)
EIG   (const   ComplexMatrix &a, int &info)
EIG   (const   EIG &a)
EIG& operator = (const EIG &a)
ComplexColumnVector eigenvalues (void) const
ComplexMatrix eigenvectors (void) const
ostream& operator << (ostream &os, const EIG &a)
                                                         36
LU (void)
LU (const Matrix &a)
LU (const LU &a)
LU& operator = (const LU &a)
Matrix L (void) const
Matrix U (void) const
Matrix P (void) const
ostream& operator << (ostream &os, const LU &a)
ComplexLU (void)
ComplexLU (const ComplexMatrix &a)
ComplexLU (const ComplexLU &a)
ComplexLU& operator = (const ComplexLU &a)
ComplexMatrix L (void) const
ComplexMatrix U (void) const
Matrix P (void) const
ostream& operator << (ostream &os, const ComplexLU &a)
QR (void)
QR (const Matrix &A)
QR (const QR &a)
QR& operator = (const QR &a)
Matrix Q (void) const
Matrix R (void) const
ostream& operator << (ostream &os, const QR &a)
ComplexQR (void)
ComplexQR (const ComplexMatrix &A)
ComplexQR (const ComplexQR &a)
ComplexQR& operator = (const ComplexQR &a)
ComplexMatrix Q (void) const
ComplexMatrix R (void) const
ostream& operator << (ostream &os, const ComplexQR &a)