📄 matrix.h
字号:
#ifndef _MATRIX_CB_
#define _MATRIX_CB_
class CMatrix
{
public:
CMatrix();
~CMatrix();
BOOL Scale(double * src, double * dest, double value, int height, int width);
BOOL SVD(double *A, int height, int width, double *w, double *v);
BOOL EigenVV(double *src, int srcHeight, double * evects, int evectsHeight,
double * evals, int evalsNum, double eps );
BOOL SVDNew(double *A, int height, int width, double * w, double *v);
BOOL Transpose(double *src, int height, int width, double *des);
BOOL Mul(double * src1, int height1, int width1, double * src2, int height2, int width2, double *dest);
BOOL Add(double * src1, double * src2, double * dest, int height, int width);
BOOL Sub(double * src1, double * src2, double * dest, int height, int width);
BOOL Invert(double *src, int matrSize, double *des);
BOOL InvertNew(double *src, int matrSize, double *des);
BOOL SetIdentity(double *Matr, int width, int height);
BOOL ScaleVector(double *src, double *dest, int length, double value);
BOOL SubVector(double *src1, double *src2, double *dest, int length);
BOOL MulTransposed(double * src, int srcHeight, int srcWidth, double * dst, int dstHeight, int dstWidth, int order );
double Trace(double *matr, int width, int height);
double DotProduct(double *src1, double *src2, int length);
double Det(double *matr, int matrSize);
BOOL Average (double *src, int height ,int width, double *dest);
BOOL CovMatrix(double *src, int height ,int width, double *dest);
void ContraryMatrix(double *pMatrix, double * _pMatrix, int dim);
private:
BOOL InitialWV(double *A, int n, int m, double *w, double *v, double *rv1);
BOOL BiDiag(double *A, int n, int m, double *w, double *rv1, double *anorm);
BOOL DotProduct(double *src1, double *src2, int length, double *value);
BOOL JacobiEigens(double *A, double *V, double *E, int n, double eps);
double Pythag(double a, double b);
BOOL MulTransMatrixR(double *srcMatr, int matrWidth,int matrHeight, double *destMatr);
BOOL MulTransMatrixL(double *srcMatr,int matrWidth, int matrHeight, double *destMatr);
BOOL bmuav(double *a, int m, int n, double *u, double *v, double eps, int ka);
void ppp(double *a, double *e, double *s, double *v,int m, int n);
void sss(double fg[2], double cs[2]);
};
#endif //!defined ( _MATRIX_CB_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -