NEURON
OcFullMatrix Class Referencefinal

#include <ocmatrix.h>

Inheritance diagram for OcFullMatrix:
OcMatrix

Public Member Functions

 OcFullMatrix (int, int)
 
 ~OcFullMatrix () override=default
 
double & coeff (int, int) override
 
double getval (int i, int j) const override
 
int nrow () const override
 
int ncol () const override
 
void resize (int, int) override
 
void mulv (Vect *in, Vect *out) const override
 
void mulm (Matrix *in, Matrix *out) const override
 
void muls (double, Matrix *out) const override
 
void add (Matrix *, Matrix *out) const override
 
void getrow (int, Vect *out) const override
 
void getcol (int, Vect *out) const override
 
void getdiag (int, Vect *out) const override
 
void setrow (int, Vect *in) override
 
void setcol (int, Vect *in) override
 
void setdiag (int, Vect *in) override
 
void setrow (int, double in) override
 
void setcol (int, double in) override
 
void setdiag (int, double in) override
 
void zero () override
 
void ident () override
 
void exp (Matrix *out) const override
 
void pow (int, Matrix *out) const override
 
void inverse (Matrix *out) const override
 
void solv (Vect *vin, Vect *vout, bool use_lu) override
 
void copy (Matrix *out) const override
 
void bcopy (Matrix *mout, int i0, int j0, int n0, int m0, int i1, int j1) const override
 
void transpose (Matrix *out) override
 
void symmeigen (Matrix *mout, Vect *vout) const override
 
void svd1 (Matrix *u, Matrix *v, Vect *d) const override
 
double det (int *exponent) const override
 
- Public Member Functions inherited from OcMatrix
virtual ~OcMatrix ()=default
 
double * mep (int i, int j)
 
double operator() (int i, int j) const
 
double & operator() (int i, int j)
 
virtual std::vector< std::pair< int, int > > nonzeros () const
 
OcFullMatrixfull ()
 
void mulv (Vect &in, Vect &out) const
 
virtual int sprowlen (int) const
 
virtual double spgetrowval (int i, int jindx, int *j) const
 
void unimp () const
 

Private Attributes

Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > m_ {}
 
std::unique_ptr< Eigen::FullPivLU< decltype(m_)> > lu_ {}
 

Additional Inherited Members

- Public Types inherited from OcMatrix
enum  { MFULL = 1 , MSPARSE , MBAND }
 
- Static Public Member Functions inherited from OcMatrix
static OcMatrixinstance (int nrow, int ncol, int type=MFULL)
 
- Public Attributes inherited from OcMatrix
Objectobj_ {}
 
- Protected Member Functions inherited from OcMatrix
 OcMatrix (int type)
 

Detailed Description

Definition at line 166 of file ocmatrix.h.

Constructor & Destructor Documentation

◆ OcFullMatrix()

OcFullMatrix::OcFullMatrix ( int  nrow,
int  ncol 
)

Definition at line 60 of file ocmatrix.cpp.

◆ ~OcFullMatrix()

OcFullMatrix::~OcFullMatrix ( )
overridedefault

Member Function Documentation

◆ add()

void OcFullMatrix::add ( Matrix in,
Matrix out 
) const
overridevirtual

Reimplemented from OcMatrix.

Definition at line 100 of file ocmatrix.cpp.

◆ bcopy()

void OcFullMatrix::bcopy ( Matrix mout,
int  i0,
int  j0,
int  n0,
int  m0,
int  i1,
int  j1 
) const
overridevirtual

Reimplemented from OcMatrix.

Definition at line 108 of file ocmatrix.cpp.

◆ coeff()

double & OcFullMatrix::coeff ( int  i,
int  j 
)
overridevirtual

Reimplemented from OcMatrix.

Definition at line 67 of file ocmatrix.cpp.

◆ copy()

void OcFullMatrix::copy ( Matrix out) const
overridevirtual

Reimplemented from OcMatrix.

Definition at line 104 of file ocmatrix.cpp.

◆ det()

double OcFullMatrix::det ( int *  exponent) const
overridevirtual

Reimplemented from OcMatrix.

Definition at line 228 of file ocmatrix.cpp.

◆ exp()

void OcFullMatrix::exp ( Matrix out) const
overridevirtual

Reimplemented from OcMatrix.

Definition at line 207 of file ocmatrix.cpp.

◆ getcol()

void OcFullMatrix::getcol ( int  k,
Vect out 
) const
overridevirtual

Reimplemented from OcMatrix.

Definition at line 145 of file ocmatrix.cpp.

◆ getdiag()

void OcFullMatrix::getdiag ( int  k,
Vect out 
) const
overridevirtual

Reimplemented from OcMatrix.

Definition at line 150 of file ocmatrix.cpp.

◆ getrow()

void OcFullMatrix::getrow ( int  k,
Vect out 
) const
overridevirtual

Reimplemented from OcMatrix.

Definition at line 140 of file ocmatrix.cpp.

◆ getval()

double OcFullMatrix::getval ( int  i,
int  j 
) const
overridevirtual

Reimplemented from OcMatrix.

Definition at line 70 of file ocmatrix.cpp.

◆ ident()

void OcFullMatrix::ident ( )
overridevirtual

Reimplemented from OcMatrix.

Definition at line 203 of file ocmatrix.cpp.

◆ inverse()

void OcFullMatrix::inverse ( Matrix out) const
overridevirtual

Reimplemented from OcMatrix.

Definition at line 215 of file ocmatrix.cpp.

◆ mulm()

void OcFullMatrix::mulm ( Matrix in,
Matrix out 
) const
overridevirtual

Reimplemented from OcMatrix.

Definition at line 92 of file ocmatrix.cpp.

◆ muls()

void OcFullMatrix::muls ( double  s,
Matrix out 
) const
overridevirtual

Reimplemented from OcMatrix.

Definition at line 96 of file ocmatrix.cpp.

◆ mulv()

void OcFullMatrix::mulv ( Vect in,
Vect out 
) const
overridevirtual

Reimplemented from OcMatrix.

Definition at line 86 of file ocmatrix.cpp.

◆ ncol()

int OcFullMatrix::ncol ( ) const
overridevirtual

Reimplemented from OcMatrix.

Definition at line 76 of file ocmatrix.cpp.

◆ nrow()

int OcFullMatrix::nrow ( ) const
overridevirtual

Reimplemented from OcMatrix.

Definition at line 73 of file ocmatrix.cpp.

◆ pow()

void OcFullMatrix::pow ( int  i,
Matrix out 
) const
overridevirtual

Reimplemented from OcMatrix.

Definition at line 211 of file ocmatrix.cpp.

◆ resize()

void OcFullMatrix::resize ( int  i,
int  j 
)
overridevirtual

Reimplemented from OcMatrix.

Definition at line 80 of file ocmatrix.cpp.

◆ setcol() [1/2]

void OcFullMatrix::setcol ( int  k,
double  in 
)
overridevirtual

Reimplemented from OcMatrix.

Definition at line 191 of file ocmatrix.cpp.

◆ setcol() [2/2]

void OcFullMatrix::setcol ( int  k,
Vect in 
)
overridevirtual

Reimplemented from OcMatrix.

Definition at line 168 of file ocmatrix.cpp.

◆ setdiag() [1/2]

void OcFullMatrix::setdiag ( int  k,
double  in 
)
overridevirtual

Reimplemented from OcMatrix.

Definition at line 195 of file ocmatrix.cpp.

◆ setdiag() [2/2]

void OcFullMatrix::setdiag ( int  k,
Vect in 
)
overridevirtual

Reimplemented from OcMatrix.

Definition at line 173 of file ocmatrix.cpp.

◆ setrow() [1/2]

void OcFullMatrix::setrow ( int  k,
double  in 
)
overridevirtual

Reimplemented from OcMatrix.

Definition at line 187 of file ocmatrix.cpp.

◆ setrow() [2/2]

void OcFullMatrix::setrow ( int  k,
Vect in 
)
overridevirtual

Reimplemented from OcMatrix.

Definition at line 163 of file ocmatrix.cpp.

◆ solv()

void OcFullMatrix::solv ( Vect vin,
Vect vout,
bool  use_lu 
)
overridevirtual

Reimplemented from OcMatrix.

Definition at line 219 of file ocmatrix.cpp.

◆ svd1()

void OcFullMatrix::svd1 ( Matrix u,
Matrix v,
Vect d 
) const
overridevirtual

Reimplemented from OcMatrix.

Definition at line 128 of file ocmatrix.cpp.

◆ symmeigen()

void OcFullMatrix::symmeigen ( Matrix mout,
Vect vout 
) const
overridevirtual

Reimplemented from OcMatrix.

Definition at line 121 of file ocmatrix.cpp.

◆ transpose()

void OcFullMatrix::transpose ( Matrix out)
overridevirtual

Reimplemented from OcMatrix.

Definition at line 112 of file ocmatrix.cpp.

◆ zero()

void OcFullMatrix::zero ( )
overridevirtual

Reimplemented from OcMatrix.

Definition at line 199 of file ocmatrix.cpp.

Member Data Documentation

◆ lu_

std::unique_ptr<Eigen::FullPivLU<decltype(m_)> > OcFullMatrix::lu_ {}
private

Definition at line 205 of file ocmatrix.h.

◆ m_

Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor> OcFullMatrix::m_ {}
private

Definition at line 204 of file ocmatrix.h.


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