Go to the documentation of this file.
39 #define EIGEN_INITIALIZE_MATRICES_BY_ZERO
41 #include <Eigen/Dense>
46 #define OOFEM_EIGEN_DERIVED(MyKlass,EigenBase) \
47 MyKlass(void): EigenBase() {} \
49 template<typename OtherDerived> MyKlass(const Eigen::MatrixBase<OtherDerived>& other): EigenBase(other) { } \
51 template<typename OtherDerived> MyKlass& operator=(const Eigen::MatrixBase<OtherDerived>& other) { this->EigenBase::operator=(other); return *this; }
53 typedef Eigen::Matrix<double,Eigen::Dynamic,Eigen::Dynamic,Eigen::ColMajor> MatrixXXd;
54 typedef Eigen::Matrix<double,Eigen::Dynamic,1> VectorXd;
58 template<std::
size_t N>
59 using VectorNd = Eigen::Matrix<double,N,1,Eigen::ColMajor>;
62 template<std::
size_t R, std::
size_t C>
63 using MatrixRCd = Eigen::Matrix<double,R,C,(R==1?Eigen::RowMajor:Eigen::ColMajor)>;
68 template<std::
size_t R, std::
size_t C>
class FloatMatrixF;
69 const double NaN(std::numeric_limits<double>::signaling_NaN());
83 extern void dgemv_(
const char *trans,
const int *m,
const int *n,
const double *alpha,
const double *a,
const int *lda,
const double *x,
84 const int *incx,
const double *beta,
double *y,
const int *incy,
int aColumns,
int xSize,
int ySize);
86 extern void daxpy_(
const int *n,
const double *alpha,
const double *x,
const int *incx,
double *y,
const int *incy,
int xsize,
int ysize);
89 extern void dgecon_(
const char *norm,
const int *n,
const double *a,
const int *lda,
90 const double *anorm,
double *rcond,
double *work,
int *iwork,
int *info,
int norm_len);
92 extern int dgetrf_(
const int *m,
const int *n,
double *a,
const int *lda,
int *lpiv,
int *info);
94 extern int dgetri_(
const int *n,
double *a,
const int *lda,
int *ipiv,
double *work,
const int *lwork,
int *info);
96 extern int dgesv_(
const int *n,
const int *nrhs,
double *a,
const int *lda,
int *ipiv,
const double *b,
const int *ldb,
int *info);
98 extern double dlange_(
const char *norm,
const int *m,
const int *n,
const double *a,
const int *lda,
double *work,
int norm_len);
100 extern int dsyevx_(
const char *jobz,
const char *range,
const char *uplo,
const int *n,
double *a,
const int *lda,
101 const double *vl,
const double *vu,
const int *il,
const int *iu,
102 const double *abstol,
int *m,
double *w,
double *z,
const int *ldz,
103 double *work,
int *lwork,
int *iwork,
int *ifail,
int *info,
104 int jobz_len,
int range_len,
int uplo_len);
106 extern void dgetrs_(
const char *trans,
const int *n,
const int *nrhs,
double *a,
const int *lda,
int *ipiv,
const double *b,
const int *ldb,
int *info);
108 extern void dgemm_(
const char *transa,
const char *transb,
const int *m,
const int *n,
const int *k,
const double *alpha,
109 const double *a,
const int *lda,
const double *b,
const int *ldb,
const double *beta,
double *c,
const int *ldc,
110 int a_columns,
int b_columns,
int c_columns);
112 extern void dger_(
const int *m,
const int *n,
const double *alpha,
const double *x,
const int *incx,
113 const double *y,
const int *incy,
double *a,
const int *lda,
114 int x_len,
int y_len,
int a_columns);
116 extern void dsyr_(
const char *uplo,
const int *n,
const double *alpha,
const double *x,
const int *incx,
117 double *a,
const int *lda,
int x_len,
int a_columns);
119 extern void daxpy_(
const int *n,
const double *alpha,
const double *x,
const int *incx,
double *y,
const int *incy,
int xsize,
int ysize);
121 extern void dscal_(
const int *n,
const double *alpha,
const double *x,
const int *incx,
int size);
This page is part of the
OOFEM-3.0 documentation. Copyright Copyright (C) 1994-2025 Borek Patzak
Bořek Patzák
Project e-mail:
oofem@fsv.cvut.cz
Generated at for OOFEM by
doxygen
1.15.0 written by Dimitri van Heesch,
© 1997-2011