Advanced Robot Control System  5.1-REV.51SF170515
ARCS::Matrix クラス

#include <Matrix.hh>

公開型

enum  LUperm { ODD, EVEN }
 

公開メンバ関数

 Matrix (unsigned int n, unsigned int m)
 
 ~Matrix ()
 
 Matrix (const Matrix &right)
 
Matrixoperator= (const Matrix &right)
 
Matrix operator+ (void) const
 
Matrix operator- (void) const
 
Matrix operator+ (const Matrix &right) const
 
Matrix operator+ (const double &right) const
 
Matrix operator- (const Matrix &right) const
 
Matrix operator- (const double &right) const
 
Matrix operator* (const Matrix &right) const
 
Matrix operator* (const double &right) const
 
Matrixoperator+= (const Matrix &right)
 
Matrixoperator+= (const double &right)
 
Matrixoperator-= (const Matrix &right)
 
Matrixoperator-= (const double &right)
 
Matrix operator^ (const unsigned int &right)
 
void SetElem (unsigned int m, unsigned int n, double val)
 
double GetElem (unsigned int m, unsigned int n) const
 
void FillAll (double u)
 
unsigned int GetWidthLength (void) const
 
unsigned int GetHeightLength (void) const
 
template<typename T1 , typename... T2>
void Set (const T1 &u1, const T2 &... u2)
 
void Set ()
 

非公開変数類

unsigned int N
 
unsigned int M
 
double ** Data
 
unsigned int Nindex
 
unsigned int Mindex
 

静的非公開変数類

static constexpr double epsilon = 1e-12
 

フレンド

Matrix operator+ (const double &left, const Matrix &right)
 
Matrix operator- (const double &left, const Matrix &right)
 
Matrix operator* (const double &left, const Matrix &right)
 
void _PrintMatSize (const Matrix &u, const std::string &varname)
 
void _PrintMatrix (const Matrix &u, const std::string &format, const std::string &varname)
 
Matrix tp (const Matrix &u)
 
double tr (const Matrix &u)
 
double prod (const Matrix &u)
 
Matrix diag (const Matrix &u)
 
double det (const Matrix &u)
 
Matrix inv (const Matrix &A)
 
Matrix lpinv (const Matrix &A)
 
Matrix rpinv (const Matrix &A)
 
Matrix abs (const Matrix &U)
 
Matrix sumrow (const Matrix &U)
 
Matrix sumcolumn (const Matrix &U)
 
double max (const Matrix &u)
 
double absmax (const Matrix &u)
 
unsigned int maxidx (const Matrix &u)
 
unsigned int absmaxidx (const Matrix &u)
 
double infnorm (const Matrix &U)
 
Matrix getrow (const Matrix &u, unsigned int m)
 
void setrow (Matrix &u, const Matrix &v, unsigned int m)
 
void swaprow (Matrix &U, unsigned int m1, unsigned int m2)
 
void fillrow (Matrix &U, double a, unsigned int m, unsigned int n1, unsigned int n2)
 
Matrix getcolumn (const Matrix &u, unsigned int n)
 
void setcolumn (Matrix &u, const Matrix &v, unsigned int n)
 
void swapcolumn (Matrix &U, unsigned int n1, unsigned int n2)
 
void fillcolumn (Matrix &U, double a, unsigned int n, unsigned int m1, unsigned int m2)
 
Matrix orderrow (const Matrix &U, const Matrix &v)
 
Matrix reorderrow (const Matrix &U, const Matrix &v)
 
Matrix solve (const Matrix &A, const Matrix &b)
 
Matrix expm (const Matrix &A, unsigned int M)
 
Matrix integral_expm (const Matrix &U, const double T, const unsigned long N, const unsigned int P)
 
Matrix::LUperm LU (const Matrix &A, Matrix &L, Matrix &U, Matrix &v)
 

列挙型メンバ詳解

§ LUperm

列挙値
ODD 
EVEN 

構築子と解体子

§ Matrix() [1/2]

Matrix::Matrix ( unsigned int  n,
unsigned int  m 
)
呼び出し関係図:

§ ~Matrix()

Matrix::~Matrix ( )

§ Matrix() [2/2]

Matrix::Matrix ( const Matrix right)

関数詳解

§ FillAll()

void Matrix::FillAll ( double  u)
被呼び出し関係図:

§ GetElem()

double Matrix::GetElem ( unsigned int  m,
unsigned int  n 
) const
被呼び出し関係図:

§ GetHeightLength()

unsigned int Matrix::GetHeightLength ( void  ) const
被呼び出し関係図:

§ GetWidthLength()

unsigned int Matrix::GetWidthLength ( void  ) const
被呼び出し関係図:

§ operator*() [1/2]

Matrix Matrix::operator* ( const Matrix right) const

§ operator*() [2/2]

Matrix Matrix::operator* ( const double &  right) const

§ operator+() [1/3]

Matrix Matrix::operator+ ( void  ) const

§ operator+() [2/3]

Matrix Matrix::operator+ ( const Matrix right) const

§ operator+() [3/3]

Matrix Matrix::operator+ ( const double &  right) const

§ operator+=() [1/2]

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

§ operator+=() [2/2]

Matrix & Matrix::operator+= ( const double &  right)

§ operator-() [1/3]

Matrix Matrix::operator- ( void  ) const

§ operator-() [2/3]

Matrix Matrix::operator- ( const Matrix right) const

§ operator-() [3/3]

Matrix Matrix::operator- ( const double &  right) const

§ operator-=() [1/2]

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

§ operator-=() [2/2]

Matrix & Matrix::operator-= ( const double &  right)

§ operator=()

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

§ operator^()

Matrix Matrix::operator^ ( const unsigned int &  right)

§ Set() [1/2]

template<typename T1 , typename... T2>
void ARCS::Matrix::Set ( const T1 &  u1,
const T2 &...  u2 
)
inline
呼び出し関係図:
被呼び出し関係図:

§ Set() [2/2]

void ARCS::Matrix::Set ( )
inline
被呼び出し関係図:

§ SetElem()

void Matrix::SetElem ( unsigned int  m,
unsigned int  n,
double  val 
)
被呼び出し関係図:

フレンドと関連関数の詳解

§ _PrintMatrix

void _PrintMatrix ( const Matrix u,
const std::string &  format,
const std::string &  varname 
)
friend

§ _PrintMatSize

void _PrintMatSize ( const Matrix u,
const std::string &  varname 
)
friend

§ abs

Matrix abs ( const Matrix U)
friend

§ absmax

double absmax ( const Matrix u)
friend

§ absmaxidx

unsigned int absmaxidx ( const Matrix u)
friend

§ det

double det ( const Matrix u)
friend

§ diag

Matrix diag ( const Matrix u)
friend

§ expm

Matrix expm ( const Matrix A,
unsigned int  M 
)
friend

§ fillcolumn

void fillcolumn ( Matrix U,
double  a,
unsigned int  n,
unsigned int  m1,
unsigned int  m2 
)
friend

§ fillrow

void fillrow ( Matrix U,
double  a,
unsigned int  m,
unsigned int  n1,
unsigned int  n2 
)
friend

§ getcolumn

Matrix getcolumn ( const Matrix u,
unsigned int  n 
)
friend

§ getrow

Matrix getrow ( const Matrix u,
unsigned int  m 
)
friend

§ infnorm

double infnorm ( const Matrix U)
friend

§ integral_expm

Matrix integral_expm ( const Matrix U,
const double  T,
const unsigned long  N,
const unsigned int  P 
)
friend

§ inv

Matrix inv ( const Matrix A)
friend

§ lpinv

Matrix lpinv ( const Matrix A)
friend

§ LU

Matrix::LUperm LU ( const Matrix A,
Matrix L,
Matrix U,
Matrix v 
)
friend

§ max

double max ( const Matrix u)
friend

§ maxidx

unsigned int maxidx ( const Matrix u)
friend

§ operator*

Matrix operator* ( const double &  left,
const Matrix right 
)
friend

§ operator+

Matrix operator+ ( const double &  left,
const Matrix right 
)
friend

§ operator-

Matrix operator- ( const double &  left,
const Matrix right 
)
friend

§ orderrow

Matrix orderrow ( const Matrix U,
const Matrix v 
)
friend

§ prod

double prod ( const Matrix u)
friend

§ reorderrow

Matrix reorderrow ( const Matrix U,
const Matrix v 
)
friend

§ rpinv

Matrix rpinv ( const Matrix A)
friend

§ setcolumn

void setcolumn ( Matrix u,
const Matrix v,
unsigned int  n 
)
friend

§ setrow

void setrow ( Matrix u,
const Matrix v,
unsigned int  m 
)
friend

§ solve

Matrix solve ( const Matrix A,
const Matrix b 
)
friend

§ sumcolumn

Matrix sumcolumn ( const Matrix U)
friend

§ sumrow

Matrix sumrow ( const Matrix U)
friend

§ swapcolumn

void swapcolumn ( Matrix U,
unsigned int  n1,
unsigned int  n2 
)
friend

§ swaprow

void swaprow ( Matrix U,
unsigned int  m1,
unsigned int  m2 
)
friend

§ tp

Matrix tp ( const Matrix u)
friend

§ tr

double tr ( const Matrix u)
friend

メンバ詳解

§ Data

double** ARCS::Matrix::Data
private

§ epsilon

constexpr double ARCS::Matrix::epsilon = 1e-12
staticprivate

§ M

unsigned int ARCS::Matrix::M
private

§ Mindex

unsigned int ARCS::Matrix::Mindex
private

§ N

unsigned int ARCS::Matrix::N
private

§ Nindex

unsigned int ARCS::Matrix::Nindex
private

このクラス詳解は次のファイルから抽出されました: