Go to the documentation of this file.
11 #ifndef UPPER_HESSENBERG_EIGEN_H
12 #define UPPER_HESSENBERG_EIGEN_H
15 #include <Eigen/Eigenvalues>
20 template <
typename Scalar =
double>
98 Scalar t = (
x * lastr - lastw * r) / denom;
115 Scalar lastra(0), lastsa(0), lastw(0);
195 m_tmp.noalias() =
m_eivec.leftCols(
j + 1) *
m_matT.col(
j).segment(0,
j + 1);
216 if (
mat.rows() !=
mat.cols())
217 throw std::invalid_argument(
"UpperHessenbergEigen: matrix must be square");
227 throw std::runtime_error(
"UpperHessenbergEigen: eigen decomposition failed");
276 throw std::logic_error(
"UpperHessenbergEigen: need to call compute() first");
286 throw std::logic_error(
"UpperHessenbergEigen: need to call compute() first");
296 matV.col(
j) =
m_eivec.col(
j).template cast<Complex>();
297 matV.col(
j).normalize();
307 matV.col(
j).normalize();
308 matV.col(
j + 1).normalize();
319 #endif // UPPER_HESSENBERG_EIGEN_H
Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > Matrix
Eigen::Matrix< Complex, Eigen::Dynamic, Eigen::Dynamic > ComplexMatrix
void doComputeEigenvectors()
set noclip points set clip one set noclip two set bar set border lt lw set xdata set ydata set zdata set x2data set y2data set boxwidth set dummy x
Eigen::Ref< Matrix > GenericMatrix
Eigen::Matrix< Complex, Eigen::Dynamic, 1 > ComplexVector
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void resize(Index rows, Index cols)
const ComplexVector & eigenvalues() const
ComplexMatrix eigenvectors()
Performs a real Schur decomposition of a square matrix.
Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > Vector
set noclip points set clip one set noclip two set bar set border lt lw set xdata set ydata set zdata set x2data set y2data set boxwidth set dummy y set format x g set format y g set format x2 g set format y2 g set format z g set angles radians set nogrid set key title set key left top Right noreverse box linetype linewidth samplen spacing width set nolabel set noarrow set nologscale set logscale x set set pointsize set encoding default set nopolar set noparametric set set set set surface set nocontour set clabel set mapping cartesian set nohidden3d set cntrparam order set cntrparam linear set cntrparam levels auto set cntrparam points set size set set xzeroaxis lt lw set x2zeroaxis lt lw set yzeroaxis lt lw set y2zeroaxis lt lw set tics in set ticslevel set tics scale
EIGEN_DEVICE_FUNC const Scalar & q
static const Line3 l(Rot3(), 1, 1)
const EIGEN_DEVICE_FUNC ImagReturnType imag() const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar & coeffRef(Index rowId, Index colId)
const typedef Eigen::Ref< const Matrix > ConstGenericMatrix
UpperHessenbergEigen(ConstGenericMatrix &mat)
The quaternion class used to represent 3D orientations and rotations.
A matrix or vector expression mapping an existing expression.
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE EIGEN_CONSTEXPR Index cols() const EIGEN_NOEXCEPT
EIGEN_DEVICE_FUNC const EIGEN_STRONG_INLINE Scalar & coeff(Index rowId, Index colId) const
void compute(ConstGenericMatrix &mat)
Jet< T, N > sqrt(const Jet< T, N > &f)
Eigen::RealSchur< Matrix > m_realSchur
std::complex< Scalar > Complex
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
gtsam
Author(s):
autogenerated on Sun Dec 22 2024 04:18:22