8 typedef Eigen::Matrix<double,2,1> vec2;
9 typedef Eigen::Matrix<double,3,1> vec3;
10 typedef Eigen::Matrix<double,4,1> vec4;
11 typedef Eigen::Matrix<double,5,1> vec5;
12 typedef Eigen::Matrix<double,6,1> vec6;
13 typedef Eigen::Matrix<double,7,1> vec7;
15 typedef Eigen::Quaternion<double> Quat;
17 typedef Eigen::Matrix<double,2,2> mat2;
18 typedef Eigen::Matrix<double,3,3> mat3;
19 typedef Eigen::Matrix<double,4,4> mat4;
20 typedef Eigen::Matrix<double,6,6> mat6;
22 typedef Eigen::Matrix<double,2,4,Eigen::RowMajor> mat24;
23 typedef Eigen::Matrix<double,3,2,Eigen::RowMajor> mat32;
24 typedef Eigen::Matrix<double,3,4,Eigen::RowMajor> mat34;
25 typedef Eigen::Matrix<double,3,6,Eigen::RowMajor> mat36;
26 typedef Eigen::Matrix<double,3,8,Eigen::RowMajor> mat38;
27 typedef Eigen::Matrix<double,3,5,Eigen::RowMajor> mat35;
29 typedef Eigen::Matrix<double,2,3,Eigen::ColMajor> mat23;
30 typedef Eigen::Matrix<double,4,2,Eigen::ColMajor> mat42;
31 typedef Eigen::Matrix<double,4,3,Eigen::ColMajor> mat43;
32 typedef Eigen::Matrix<double,6,3,Eigen::ColMajor> mat63;
36 typedef Eigen::SparseMatrix<double,Eigen::ColMajor> SparseMat;
37 typedef Eigen::Matrix<double,Eigen::Dynamic,1> Vector;
38 typedef Eigen::SparseMatrix<double,Eigen::RowMajor> SparseRowMat;
40 Quat ptrQ(
const double* Q);
42 void Qptr(
const Quat& Q,
double* ptr);
43 void V2ptr(
const vec2& V,
double* ptr);
44 void V3ptr(
const vec3& V,
double* ptr);
45 void V4ptr(
const vec4& V,
double* ptr);
46 void V6ptr(
const vec6& V,
double* ptr);
48 mat3 dyadicX(
const vec3& V);
49 mat3 dyadicXX(
const vec3& V);
50 mat3 dyadicXaXb(
const vec3& Va,
const vec3& Vb);
51 mat3 outer(
const vec3& V);
52 mat3 outer(
const vec3& Va,
const vec3& Vb);
54 void RotateDiagonalMatrix(
const mat3& R,
const vec6& D, mat6& M);
55 void TranslateRotateDiagonalMatrix(
const mat3& R,
const vec3& r,
const vec6& D, mat6& M);
56 Quat BasicRotationX(
double angle);
57 Quat BasicRotationY(
double angle);
58 Quat BasicRotationZ(
double angle);
60 bool is_qNaN(
double v);