Matrix Class Reference

#include <Matrix.h>

List of all members.

Public Member Functions

 Matrix ()
 Matrix (int nrows, int ncols)
 Matrix (double *data, int nrows, int ncols)
 Matrix (const Matrix &M)
 ~Matrix ()
int setData (double *newData, int nRows, int nCols)
int noRows () const
int noCols () const
void Zero (void)
int resize (int numRow, int numCol)
int Assemble (const Matrix &, const ID &rows, const ID &cols, double fact=1.0)
int Solve (const Vector &V, Vector &res) const
int Solve (const Matrix &M, Matrix &res) const
int Invert (Matrix &res) const
int addMatrix (double factThis, const Matrix &other, double factOther)
int addMatrixProduct (double factThis, const Matrix &A, const Matrix &B, double factOther)
int addMatrixTripleProduct (double factThis, const Matrix &A, const Matrix &B, double factOther)
double & operator() (int row, int col)
double operator() (int row, int col) const
Matrix operator() (const ID &rows, const ID &cols) const
Matrixoperator= (const Matrix &M)
Matrixoperator= (const Tensor &T)
Matrixoperator+= (double fact)
Matrixoperator-= (double fact)
Matrixoperator *= (double fact)
Matrixoperator/= (double fact)
Matrix operator+ (double fact) const
Matrix operator- (double fact) const
Matrix operator * (double fact) const
Matrix operator/ (double fact) const
Vector operator * (const Vector &V) const
Vector operator^ (const Vector &V) const
Matrix operator+ (const Matrix &M) const
Matrix operator- (const Matrix &M) const
Matrix operator * (const Matrix &M) const
Matrix operator^ (const Matrix &M) const
Matrixoperator+= (const Matrix &M)
Matrixoperator-= (const Matrix &M)
void Output (OPS_Stream &s) const
int Assemble (const Matrix &V, int init_row, int init_col, double fact=1.0)
int AssembleTranspose (const Matrix &V, int init_row, int init_col, double fact=1.0)
int Extract (const Matrix &V, int init_row, int init_col, double fact=1.0)

Friends

class Vector
class Message
class TCP_Socket
class TCP_SocketNoDelay
class UDP_Socket
class MPI_Channel
class MySqlDatastore
class BerkeleyDbDatastore
OPS_Streamoperator<< (OPS_Stream &s, const Matrix &M)
Matrix operator * (double a, const Matrix &M)


Detailed Description

Definition at line 53 of file Matrix.h.


Constructor & Destructor Documentation

Matrix::Matrix (  ) 

Definition at line 58 of file Matrix.cpp.

References exit(), and opserr.

Matrix::Matrix ( int  nrows,
int  ncols 
)

Definition at line 73 of file Matrix.cpp.

References endln, exit(), and opserr.

Matrix::Matrix ( double *  data,
int  nrows,
int  ncols 
)

Definition at line 118 of file Matrix.cpp.

References exit(), and opserr.

Matrix::Matrix ( const Matrix M  ) 

Definition at line 147 of file Matrix.cpp.

References data, dataSize, endln, exit(), numCols, numRows, and opserr.

Matrix::~Matrix (  ) 

Definition at line 186 of file Matrix.cpp.


Member Function Documentation

int Matrix::noRows (  )  const [inline]

Definition at line 165 of file Matrix.h.

Referenced by UmfpackGenLinSOE::addA(), SymSparseLinSOE::addA(), SparseGenRowLinSOE::addA(), SparseGenColLinSOE::addA(), DistributedSparseGenRowLinSOE::addA(), DistributedSparseGenColLinSOE::addA(), ProfileSPDLinSOE::addA(), DistributedProfileSPDLinSOE::addA(), PetscSOE::addA(), MumpsSOE::addA(), ItpackLinSOE::addA(), FullGenLinSOE::addA(), DistributedDiagonalSOE::addA(), DiagonalSOE::addA(), DistributedBandSPDLinSOE::addA(), BandSPDLinSOE::addA(), DistributedBandGenLinSOE::addA(), BandGenLinSOE::addA(), SymBandEigenSOE::addA(), SymArpackSOE::addA(), BandArpackSOE::addA(), TransformationDOF_Group::addD_Force(), TransformationDOF_Group::addD_ForceSensitivity(), Node::addInertiaLoadSensitivityToUnbalance(), Node::addInertiaLoadToUnbalance(), SymBandEigenSOE::addM(), TransformationDOF_Group::addM_Force(), TransformationDOF_Group::addM_ForceSensitivity(), Vector::addMatrixTransposeVector(), Vector::addMatrixVector(), ParametricReliabilityAnalysis::analyze(), OutCrossingAnalysis::analyze(), FragilityAnalysis::analyze(), Subdomain::buildMap(), PBowlLoading::CompPBLoads(), OpenSeesGradGEvaluator::computeGradG(), MatrixOperations::computeMatrixNorm(), GradGEvaluator::computeParameterDerivatives(), MatrixOperations::computeTrace(), DOF_Group::DOF_Group(), ShadowSubdomain::domainChange(), TransformationDOF_Group::doneID(), X11Renderer::drawPolygon(), OpenGLRenderer::drawPolygon(), FE_Element::FE_Element(), ProfileSPDLinSubstrSolver::getCondensedA(), Information::getData(), FiniteDifferenceGradGEvaluator::getDgDdispl(), Node::getMassSensitivity(), TransformationFE::getResidual(), ShadowSubdomain::getTang(), PlainHandler::handle(), LagrangeMP_FE::LagrangeMP_FE(), MatrixOperations::MatrixOperations(), Vector::operator/(), Output(), PBowlLoading::PBowlLoading(), Information::Print(), NodeRecorder::record(), EnvelopeNodeRecorder::record(), OracleDatastore::recvMatrix(), FileDatastore::recvMatrix(), FiberSection::recvSelf(), OracleDatastore::sendMatrix(), FileDatastore::sendMatrix(), MP_Joint2D::sendSelf(), MP_Constraint::sendSelf(), TransformationFE::setID(), ShadowSubdomain::setMass(), Node::setMass(), MatrixOperations::setMatrix(), Node::setNumColR(), and TransformationDOF_Group::TransformationDOF_Group().

int Matrix::noCols (  )  const [inline]

Definition at line 171 of file Matrix.h.

Referenced by UmfpackGenLinSOE::addA(), SymSparseLinSOE::addA(), SparseGenRowLinSOE::addA(), SparseGenColLinSOE::addA(), DistributedSparseGenRowLinSOE::addA(), DistributedSparseGenColLinSOE::addA(), ProfileSPDLinSOE::addA(), DistributedProfileSPDLinSOE::addA(), PetscSOE::addA(), MumpsSOE::addA(), ItpackLinSOE::addA(), FullGenLinSOE::addA(), DistributedDiagonalSOE::addA(), DiagonalSOE::addA(), DistributedBandSPDLinSOE::addA(), BandSPDLinSOE::addA(), DistributedBandGenLinSOE::addA(), BandGenLinSOE::addA(), SymBandEigenSOE::addA(), SymArpackSOE::addA(), BandArpackSOE::addA(), Node::addInertiaLoadSensitivityToUnbalance(), Node::addInertiaLoadToUnbalance(), SymBandEigenSOE::addM(), Vector::addMatrixVector(), GFunVisualizationAnalysis::analyze(), PBowlLoading::CompPBLoads(), MatrixOperations::computeCholeskyAndItsInverse(), MatrixOperations::computeInverse(), MatrixOperations::computeInverseLowerCholesky(), MatrixOperations::computeLowerCholesky(), MatrixOperations::computeMatrixNorm(), MatrixOperations::computeSquareRoot(), MatrixOperations::computeTrace(), MatrixOperations::computeTranspose(), TrussSection::displaySelf(), Truss::displaySelf(), ShellMITC4::displaySelf(), FourNodeQuad::displaySelf(), EnhancedQuad::displaySelf(), ConstantPressureVolumeQuad::displaySelf(), ForceBeamColumn3d::displaySelf(), ForceBeamColumn2d::displaySelf(), ElasticBeam3d::displaySelf(), ElasticBeam2d::displaySelf(), DispBeamColumn3d::displaySelf(), DispBeamColumn2d::displaySelf(), Brick::displaySelf(), BbarBrick::displaySelf(), DOF_Group::DOF_Group(), TransformationDOF_Group::doneID(), X11Renderer::drawPolygon(), OpenGLRenderer::drawPolygon(), FE_Element::FE_Element(), PressureIndependMultiYield::getBackbone(), PressureDependMultiYield02::getBackbone(), PressureDependMultiYield::getBackbone(), TransformationFE::getC_Force(), Information::getData(), TransformationFE::getK_Force(), TransformationFE::getKi_Force(), TransformationFE::getM_Force(), Node::getMassSensitivity(), TransformationFE::getResidual(), Node::getRV(), TransformationFE::getTangent(), PlainHandler::handle(), LagrangeMP_FE::LagrangeMP_FE(), LagrangeSP_FE::LagrangeSP_FE(), MatrixOperations::MatrixOperations(), MP_Constraint::MP_Constraint(), Vector::operator/(), Output(), PBowlLoading::PBowlLoading(), PenaltyMP_FE::PenaltyMP_FE(), PenaltySP_FE::PenaltySP_FE(), Information::Print(), NodeRecorder::record(), EnvelopeNodeRecorder::record(), OracleDatastore::recvMatrix(), FileDatastore::recvMatrix(), OracleDatastore::sendMatrix(), FileDatastore::sendMatrix(), MP_Joint2D::sendSelf(), Node::sendSelf(), MP_Constraint::sendSelf(), Node::setEigenvector(), TransformationFE::setID(), ShadowSubdomain::setMass(), Node::setMass(), MatrixOperations::setMatrix(), Node::setNumColR(), Node::setNumEigenvectors(), Node::setR(), YieldSurface_BC::toElementSystem(), YieldSurface_BC::toLocalSystem(), and TransformationDOF_Group::TransformationDOF_Group().

void Matrix::Zero ( void   ) 

Definition at line 232 of file Matrix.cpp.

Referenced by MP_Joint3D::applyConstraint(), MP_Joint2D::applyConstraint(), SoilFootingSection2d::applyLoading(), BeamColumnJoint2d::BeamColumnJoint2d(), BeamColumnJoint3d::BeamColumnJoint3d(), Brick::Brick(), ForceBeamColumn2d::commitSensitivity(), OpenSeesGradGEvaluator::computeAllGradG(), FiniteDifferenceGradGEvaluator::computeAllGradG(), NineNodeMixedQuad::displaySelf(), ConstantPressureVolumeQuad::displaySelf(), TransformationDOF_Group::doneID(), getCBDIinfluenceMatrix(), ProfileSPDLinSubstrSolver::getCondensedA(), ZeroLength::getDamp(), TwentyNodeBrick_u_p_U::getDamp(), EightNodeBrick_u_p_U::getDamp(), EightNode_LDBrick_u_p::getDamp(), EightNode_Brick_u_p::getDamp(), NineFourNodeQuadUP::getDamp(), FourNodeQuadUP::getDamp(), Truss::getDamp(), Joint3D::getDamp(), Joint2D::getDamp(), fElement::getDamp(), Element::getDamp(), Node::getDamp(), Element::getDampSensitivity(), Node::getDampSensitivity(), SectionAggregator::getInitialFlexibility(), ForceBeamColumn3d::getInitialFlexibility(), ForceBeamColumn2d::getInitialFlexibility(), ZeroLength::getInitialStiff(), NineFourNodeQuadUP::getInitialStiff(), FourNodeQuadUP::getInitialStiff(), BrickUP::getInitialStiff(), TrussSection::getInitialStiff(), Truss::getInitialStiff(), CorotTrussSection::getInitialStiff(), CorotTruss::getInitialStiff(), TotalLagrangianFD8NodeBrick::getInitialStiff(), TotalLagrangianFD20NodeBrick::getInitialStiff(), ShellMITC4::getInitialStiff(), NLBeamColumn3d::getInitialStiff(), NLBeamColumn2d::getInitialStiff(), Joint3D::getInitialStiff(), Joint2D::getInitialStiff(), NineNodeMixedQuad::getInitialStiff(), FourNodeQuad::getInitialStiff(), EnhancedQuad::getInitialStiff(), ConstantPressureVolumeQuad::getInitialStiff(), ForceBeamColumn3d::getInitialStiff(), Brick::getInitialStiff(), BbarBrick::getInitialStiff(), BeamWithHinges3d::getInitialStiff(), BeamWithHinges2d::getInitialStiff(), SectionAggregator::getInitialTangent(), ElasticPlateSection::getInitialTangent(), ElasticMembranePlateSection::getInitialTangent(), SectionForceDeformation::getInitialTangentSensitivity(), FiberSection2d::getInitialTangentSensitivity(), ElasticShearSection3d::getInitialTangentSensitivity(), ElasticShearSection2d::getInitialTangentSensitivity(), ElasticSection3d::getInitialTangentSensitivity(), ElasticSection2d::getInitialTangentSensitivity(), Truss::getKiSensitivity(), Joint2D::getKiSensitivity(), ForceBeamColumn2d::getKiSensitivity(), DispBeamColumn2d::getKiSensitivity(), InelasticYS2DGNL::getLocalMass(), Elastic2dGNL::getLocalMass(), ZeroLength::getMass(), TwentyNodeBrick_u_p_U::getMass(), EightNodeBrick_u_p_U::getMass(), EightNode_LDBrick_u_p::getMass(), EightNode_Brick_u_p::getMass(), NineFourNodeQuadUP::getMass(), FourNodeQuadUP::getMass(), TrussSection::getMass(), Truss::getMass(), CorotTrussSection::getMass(), CorotTruss::getMass(), TotalLagrangianFD8NodeBrick::getMass(), TotalLagrangianFD20NodeBrick::getMass(), NLBeamColumn2d::getMass(), Joint3D::getMass(), Joint2D::getMass(), FourNodeQuad::getMass(), ForceBeamColumn3d::getMass(), ForceBeamColumn2d::getMass(), fElement::getMass(), Element::getMass(), ElasticBeam3d::getMass(), ElasticBeam2d::getMass(), DispBeamColumn3d::getMass(), DispBeamColumn2d::getMass(), BeamWithHinges3d::getMass(), BeamWithHinges2d::getMass(), Node::getMass(), Truss::getMassSensitivity(), Joint2D::getMassSensitivity(), ForceBeamColumn2d::getMassSensitivity(), DispBeamColumn2d::getMassSensitivity(), Node::getMassSensitivity(), Element::getRayleighDampingForces(), Element::getResistingForceIncInertia(), DispBeamColumn2d::getResistingForceSensitivity(), SectionAggregator::getSectionFlexibility(), SectionAggregator::getSectionTangent(), MembranePlateFiberSection::getSectionTangent(), FiberSection::getSectionTangent(), ElasticPlateSection::getSectionTangent(), ElasticMembranePlateSection::getSectionTangent(), SectionForceDeformation::getSectionTangentSensitivity(), SectionAggregator::getSectionTangentSensitivity(), Isolator2spring::getStressResultant(), TransformationDOF_Group::getT(), LagrangeDOF_Group::getTangent(), ZeroLength::getTangentStiff(), NineFourNodeQuadUP::getTangentStiff(), FourNodeQuadUP::getTangentStiff(), TrussSection::getTangentStiff(), Truss::getTangentStiff(), CorotTrussSection::getTangentStiff(), CorotTruss::getTangentStiff(), TotalLagrangianFD8NodeBrick::getTangentStiff(), TotalLagrangianFD20NodeBrick::getTangentStiff(), Joint3D::getTangentStiff(), Joint2D::getTangentStiff(), FourNodeQuad::getTangentStiff(), fElement::getTangentStiff(), DispBeamColumn3d::getTangentStiff(), DispBeamColumn2d::getTangentStiff(), MultiaxialCyclicPlasticity::initialize(), SoilFootingSection2d::initializeInternalVariables(), Joint2D::Joint2D(), Joint3D::Joint3D(), LagrangeMP_FE::LagrangeMP_FE(), LagrangeSP_FE::LagrangeSP_FE(), main(), J2Plasticity::plastic_integrator(), MultiaxialCyclicPlasticity::plastic_integrator(), EnvelopeNodeRecorder::restart(), EnvelopeElementRecorder::restart(), EnvelopeDriftRecorder::restart(), FiberSection::revertToLastCommit(), Steel01::revertToStart(), HardeningMaterial::revertToStart(), BoucWenMaterial::revertToStart(), Isolator2spring::revertToStart(), NLBeamColumn3d::revertToStart(), NLBeamColumn2d::revertToStart(), ForceBeamColumn3d::revertToStart(), ForceBeamColumn2d::revertToStart(), BeamWithHinges3d::revertToStart(), BeamWithHinges2d::revertToStart(), Node::revertToStart(), RigidBeam::RigidBeam(), RigidDiaphragm::RigidDiaphragm(), RigidRod::RigidRod(), Node::setNumColR(), Node::setNumEigenvectors(), J2ThreeDimensional::setTrialStrain(), J2PlateFiber::setTrialStrain(), J2PlaneStress::setTrialStrain(), J2PlaneStrain::setTrialStrain(), J2AxiSymm::setTrialStrain(), MultiaxialCyclicPlasticityPlaneStrain::setTrialStrain(), MultiaxialCyclicPlasticityAxiSymm::setTrialStrain(), MultiaxialCyclicPlasticity3D::setTrialStrain(), TclModelBuilder_addEqualDOF_MP(), TclModelBuilder_doBlock2D(), TclModelBuilder_doBlock3D(), NLBeamColumn3d::update(), NLBeamColumn2d::update(), ForceBeamColumn3d::update(), ForceBeamColumn2d::update(), BeamWithHinges3d::update(), BeamWithHinges2d::update(), J2Plasticity::zero(), NLBeamColumn3d::zeroLoad(), NLBeamColumn2d::zeroLoad(), ForceBeamColumn3d::zeroLoad(), BeamWithHinges3d::zeroLoad(), BeamWithHinges2d::zeroLoad(), FE_Element::zeroTangent(), and DOF_Group::zeroTangent().

int Matrix::resize ( int  numRow,
int  numCol 
)

Definition at line 241 of file Matrix.cpp.

References opserr.

int Matrix::Assemble ( const Matrix ,
const ID rows,
const ID cols,
double  fact = 1.0 
)

Definition at line 287 of file Matrix.cpp.

References numCols, numRows, opserr, and ID::Size().

int Matrix::Solve ( const Matrix M,
Matrix res 
) const

Definition at line 431 of file Matrix.cpp.

References data, dgesv_(), endln, n, numCols, numRows, and opserr.

double & Matrix::operator() ( int  row,
int  col 
) [inline]

Definition at line 178 of file Matrix.h.

References endln, and opserr.

double Matrix::operator() ( int  row,
int  col 
) const [inline]

Definition at line 194 of file Matrix.h.

References endln, and opserr.

Matrix Matrix::operator() ( const ID rows,
const ID cols 
) const

Definition at line 866 of file Matrix.cpp.

References data, and ID::Size().

Matrix & Matrix::operator= ( const Matrix M  ) 

Definition at line 889 of file Matrix.cpp.

References data, numCols, numRows, and opserr.

Matrix & Matrix::operator= ( const Tensor &  T  ) 

Definition at line 936 of file Matrix.cpp.

References opserr.

Matrix & Matrix::operator+= ( double  fact  ) 

Definition at line 1039 of file Matrix.cpp.

Matrix & Matrix::operator-= ( double  fact  ) 

Definition at line 1056 of file Matrix.cpp.

Matrix & Matrix::operator *= ( double  fact  ) 

Definition at line 1071 of file Matrix.cpp.

Matrix & Matrix::operator/= ( double  fact  ) 

Definition at line 1085 of file Matrix.cpp.

References endln, MATRIX_VERY_LARGE_VALUE, and opserr.

Matrix Matrix::operator+ ( double  fact  )  const

Definition at line 1120 of file Matrix.cpp.

Matrix Matrix::operator- ( double  fact  )  const

Definition at line 1128 of file Matrix.cpp.

Matrix Matrix::operator * ( double  fact  )  const

Definition at line 1136 of file Matrix.cpp.

Matrix Matrix::operator/ ( double  fact  )  const

Definition at line 1144 of file Matrix.cpp.

References exit(), and opserr.

Vector Matrix::operator * ( const Vector V  )  const

Definition at line 1161 of file Matrix.cpp.

References opserr, and Vector::Size().

Vector Matrix::operator^ ( const Vector V  )  const

Definition at line 1194 of file Matrix.cpp.

References opserr, and Vector::Size().

Matrix Matrix::operator+ ( const Matrix M  )  const

Definition at line 1218 of file Matrix.cpp.

References addMatrix().

Matrix Matrix::operator- ( const Matrix M  )  const

Definition at line 1226 of file Matrix.cpp.

References addMatrix().

Matrix Matrix::operator * ( const Matrix M  )  const

Definition at line 1235 of file Matrix.cpp.

References addMatrixProduct(), numCols, numRows, and opserr.

Matrix Matrix::operator^ ( const Matrix M  )  const

Definition at line 1276 of file Matrix.cpp.

References data, k, numCols, numRows, and opserr.

Matrix & Matrix::operator+= ( const Matrix M  ) 

Definition at line 1309 of file Matrix.cpp.

References data, numCols, numRows, and opserr.

Matrix & Matrix::operator-= ( const Matrix M  ) 

Definition at line 1327 of file Matrix.cpp.

References data, numCols, numRows, and opserr.

void Matrix::Output ( OPS_Stream s  )  const

Definition at line 1352 of file Matrix.cpp.

References endln, noCols(), and noRows().

Referenced by operator<<().

int Matrix::Assemble ( const Matrix V,
int  init_row,
int  init_col,
double  fact = 1.0 
)

Definition at line 1398 of file Matrix.cpp.

References numCols, numRows, and opserr.

int Matrix::AssembleTranspose ( const Matrix V,
int  init_row,
int  init_col,
double  fact = 1.0 
)

Definition at line 1436 of file Matrix.cpp.

References numCols, numRows, and opserr.

int Matrix::Extract ( const Matrix V,
int  init_row,
int  init_col,
double  fact = 1.0 
)

Definition at line 1474 of file Matrix.cpp.

References numCols, numRows, and opserr.


Friends And Related Function Documentation

friend class Vector [friend]

Definition at line 137 of file Matrix.h.

friend class Message [friend]

Definition at line 138 of file Matrix.h.

friend class TCP_Socket [friend]

Definition at line 139 of file Matrix.h.

friend class TCP_SocketNoDelay [friend]

Definition at line 140 of file Matrix.h.

friend class UDP_Socket [friend]

Definition at line 141 of file Matrix.h.

friend class MPI_Channel [friend]

Definition at line 142 of file Matrix.h.

friend class MySqlDatastore [friend]

Definition at line 143 of file Matrix.h.

friend class BerkeleyDbDatastore [friend]

Definition at line 144 of file Matrix.h.

OPS_Stream& operator<< ( OPS_Stream s,
const Matrix M 
) [friend]

Definition at line 1376 of file Matrix.cpp.

Matrix operator * ( double  a,
const Matrix M 
) [friend]

Definition at line 1509 of file Matrix.cpp.


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

Generated on Mon Oct 23 15:05:45 2006 for OpenSees by doxygen 1.5.0