Isis 3 Programmer Reference
Isis::Matrix Class Reference

Matrix class. More...

#include <Matrix.h>

Collaboration diagram for Isis::Matrix:
Collaboration graph

Public Member Functions

 Matrix (const int n, const int m, const double value=0.0)
 Constructs an n x m Matrix containing the specified default value. More...
 
 Matrix (TNT::Array2D< double > matrix)
 Constructs a Matrix from the specified TNT Array2D. More...
 
 ~Matrix ()
 Destroys the Matrix object. More...
 
int Rows ()
 
int Columns ()
 
double Determinant ()
 Compute the determinant of the matrix. More...
 
double Trace ()
 Compute the determinant of the matrix. More...
 
std::vector< double > Eigenvalues ()
 Compute the eigenvalues of the matrix. More...
 
Matrix Add (Matrix &matrix)
 Add the two matrices. More...
 
Matrix Subtract (Matrix &matrix)
 Subtract the input matrix from this matrix. More...
 
Matrix Multiply (Matrix &matrix)
 Multiply the two matrices. More...
 
Matrix Multiply (double scalar)
 Multiply the matrix by a scalar value. More...
 
Matrix MultiplyElementWise (Matrix &matrix)
 Multiply the two matrices element-wise (ie compute C such that C[i][j] = A[i][j]*B[i][j]) More...
 
Matrix Transpose ()
 Compute the transpose of the matrix. More...
 
Matrix Inverse ()
 Compute the inverse of the matrix. More...
 
Matrix Eigenvectors ()
 Compute the eigenvectors of the matrix and return them as columns of a matrix in ascending order. More...
 
double * operator[] (int index)
 
Matrix operator+ (Matrix &matrix)
 
Matrix operator- (Matrix &matrix)
 
Matrix operator* (Matrix &matrix)
 
Matrix operator* (double scalar)
 

Static Public Member Functions

static Matrix Identity (const int n)
 Create an n x n identity matrix. More...
 

Private Attributes

TNT::Array2D< double > p_matrix
 

Detailed Description

Matrix class.

A Matrix

This class stores a matrix and compute matrix calculations such as addition, subtraction,multiplication, transposes, inverses, and eigenvalues.

Author
2006-05-19 Jacob Danton
History:
2006-05-19 Jacob Danton Original Version
History:
2007-07-11 Brendan George Fixed unitTest to print values in "fixed" (non-scientific) format, added system specific unitTest for Linux i686 systems

Definition at line 50 of file Matrix.h.

Constructor & Destructor Documentation

◆ Matrix() [1/2]

Isis::Matrix::Matrix ( const int  n,
const int  m,
const double  value = 0.0 
)

Constructs an n x m Matrix containing the specified default value.

Definition at line 40 of file Matrix.cpp.

References _FILEINFO_, and Isis::IException::Programmer.

Referenced by Add(), Eigenvectors(), Inverse(), Multiply(), MultiplyElementWise(), Subtract(), and Transpose().

◆ Matrix() [2/2]

Isis::Matrix::Matrix ( TNT::Array2D< double >  matrix)

Constructs a Matrix from the specified TNT Array2D.

Definition at line 51 of file Matrix.cpp.

◆ ~Matrix()

Isis::Matrix::~Matrix ( )

Destroys the Matrix object.

Definition at line 56 of file Matrix.cpp.

Member Function Documentation

◆ Add()

Matrix Isis::Matrix::Add ( Matrix matrix)

Add the two matrices.

Definition at line 120 of file Matrix.cpp.

References _FILEINFO_, Matrix(), and Isis::IException::Programmer.

◆ Determinant()

double Isis::Matrix::Determinant ( )

Compute the determinant of the matrix.

Definition at line 76 of file Matrix.cpp.

References _FILEINFO_, and Isis::IException::Programmer.

◆ Eigenvalues()

std::vector< double > Isis::Matrix::Eigenvalues ( )

Compute the eigenvalues of the matrix.

Definition at line 219 of file Matrix.cpp.

References _FILEINFO_, Isis::E, and Isis::IException::Programmer.

◆ Eigenvectors()

Matrix Isis::Matrix::Eigenvectors ( )

Compute the eigenvectors of the matrix and return them as columns of a matrix in ascending order.

Definition at line 240 of file Matrix.cpp.

References _FILEINFO_, Isis::E, Matrix(), and Isis::IException::Programmer.

◆ Identity()

Matrix Isis::Matrix::Identity ( const int  n)
static

Create an n x n identity matrix.

Definition at line 61 of file Matrix.cpp.

References _FILEINFO_, and Isis::IException::Programmer.

◆ Inverse()

Matrix Isis::Matrix::Inverse ( )

Compute the inverse of the matrix.

Definition at line 199 of file Matrix.cpp.

References _FILEINFO_, Matrix(), and Isis::IException::Programmer.

◆ Multiply() [1/2]

Matrix Isis::Matrix::Multiply ( Matrix matrix)

Multiply the two matrices.

Definition at line 103 of file Matrix.cpp.

References _FILEINFO_, Matrix(), and Isis::IException::Programmer.

◆ Multiply() [2/2]

Matrix Isis::Matrix::Multiply ( double  scalar)

Multiply the matrix by a scalar value.

Definition at line 173 of file Matrix.cpp.

◆ MultiplyElementWise()

Matrix Isis::Matrix::MultiplyElementWise ( Matrix matrix)

Multiply the two matrices element-wise (ie compute C such that C[i][j] = A[i][j]*B[i][j])

Definition at line 156 of file Matrix.cpp.

References _FILEINFO_, Matrix(), and Isis::IException::Programmer.

◆ Subtract()

Matrix Isis::Matrix::Subtract ( Matrix matrix)

Subtract the input matrix from this matrix.

Definition at line 137 of file Matrix.cpp.

References _FILEINFO_, Matrix(), and Isis::IException::Programmer.

◆ Trace()

double Isis::Matrix::Trace ( )

Compute the determinant of the matrix.

Definition at line 88 of file Matrix.cpp.

References _FILEINFO_, and Isis::IException::Programmer.

◆ Transpose()

Matrix Isis::Matrix::Transpose ( )

Compute the transpose of the matrix.

Definition at line 186 of file Matrix.cpp.

References Matrix().


The documentation for this class was generated from the following files: