Fixed-size matrix or vector |
Dynamic-size matrix |
Dynamic-size vector |
\code
Matrix3f x;
x = Matrix3f::Zero();
x = Matrix3f::Ones();
x = Matrix3f::Constant(value);
x = Matrix3f::Identity();
x = Matrix3f::Random();
x.setZero();
x.setOnes();
x.setIdentity();
x.setConstant(value);
x.setRandom();
\endcode
|
\code
MatrixXf x;
x = MatrixXf::Zero(rows, cols);
x = MatrixXf::Ones(rows, cols);
x = MatrixXf::Constant(rows, cols, value);
x = MatrixXf::Identity(rows, cols);
x = MatrixXf::Random(rows, cols);
x.setZero(rows, cols);
x.setOnes(rows, cols);
x.setConstant(rows, cols, value);
x.setIdentity(rows, cols);
x.setRandom(rows, cols);
\endcode
|
\code
VectorXf x;
x = VectorXf::Zero(size);
x = VectorXf::Ones(size);
x = VectorXf::Constant(size, value);
x = VectorXf::Identity(size);
x = VectorXf::Random(size);
x.setZero(size);
x.setOnes(size);
x.setConstant(size, value);
x.setIdentity(size);
x.setRandom(size);
\endcode
|
Basis vectors \link MatrixBase::Unit [details]\endlink |
\code
Vector3f::UnixX() // 1 0 0
Vector3f::UnixY() // 0 1 0
Vector3f::UnixZ() // 0 0 1
\endcode | | \code
VectorXf::Unit(size,i)
VectorXf::Unit(4,1) == Vector4f(0,1,0,0)
== Vector4f::UnitY()
\endcode
|
Here is an usage example:
Default versions |
Optimized versions when the size \n is known at compile time |
|
\code vec1.start(n)\endcode | \code vec1.start()\endcode | the first \c n coeffs |
\code vec1.end(n)\endcode | \code vec1.end()\endcode | the last \c n coeffs |
\code vec1.segment(pos,n)\endcode | \code vec1.segment(pos)\endcode |
the \c size coeffs in \n the range [\c pos : \c pos + \c n [ |
Read-write access to sub-matrices: | | |
\code mat1.block(i,j,rows,cols)\endcode
\link MatrixBase::block(int,int,int,int) (more) \endlink |
\code mat1.block(i,j)\endcode
\link MatrixBase::block(int,int) (more) \endlink |
the \c rows x \c cols sub-matrix \n starting from position (\c i,\c j) |
\code
mat1.corner(TopLeft,rows,cols)
mat1.corner(TopRight,rows,cols)
mat1.corner(BottomLeft,rows,cols)
mat1.corner(BottomRight,rows,cols)\endcode
\link MatrixBase::corner(CornerType,int,int) (more) \endlink |
\code
mat1.corner(TopLeft)
mat1.corner(TopRight)
mat1.corner(BottomLeft)
mat1.corner(BottomRight)\endcode
\link MatrixBase::corner(CornerType) (more) \endlink |
the \c rows x \c cols sub-matrix \n taken in one of the four corners |
\code
mat4x4.minor(i,j) = mat3x3;
mat3x3 = mat4x4.minor(i,j);\endcode
|
\link MatrixBase::minor() minor \endlink (read-write) |
\ref index "Overview"
| \ref TutorialCore "Core features"
| \ref TutorialGeometry "Geometry"
| \b Advanced \b linear \b algebra
\b Table \b of \b contents
- \ref TutorialAdvLinearSolvers
- \ref TutorialAdvLU
- \ref TutorialAdvCholesky
- \ref TutorialAdvQR
- \ref TutorialAdvEigenProblems
\section TutorialAdvLinearSolvers Solving linear problems
todo