Spec-Zone.ru › Eigen3

Eigen::SelfAdjointView

template<typename _MatrixType, unsigned int UpLo>
class Eigen::SelfAdjointView< _MatrixType, UpLo >

Выражение симметричной матрицы из треугольной части плотной матрицы.

Параметры
MatrixType тип плотной матрицы, хранящей коэффициенты
TriangularPart может быть либо Lower либо Upper

Этот класс является выражением симметричной матрицы из треугольной части матрицы с заданным плотным хранением коэффициентов. Он является возвращаемым типом метода MatrixBase::selfadjointView(), и чаще всего используется именно таким способом.

См. также
класс TriangularBase, MatrixBase::selfadjointView()
Inheritance graph
typedef Matrix< RealScalar, internal::traits< MatrixType >::ColsAtCompileTime, 1 > EigenvaluesReturnType
typedef NumTraits< Scalar >::Real RealScalar
typedef internal::traits< SelfAdjointView >::Scalar Scalar
Тип коэффициентов в этой матрице.
- Публичные типы, унаследованные от Eigen::EigenBase< Derived >
typedef Eigen::Index Index
Интерфейсный тип индексов. Подробнее...
const AdjointReturnType adjoint () const
Scalar coeff (Index row, Index col) const
Scalar & coeffRef (Index row, Index col)
const ConjugateReturnType conjugate () const
template<bool Cond>
internal::conditional< Cond, ConjugateReturnType, ConstSelfAdjointView >::type conjugateIf () const
MatrixType::ConstDiagonalReturnType diagonal () const
EigenvaluesReturnType eigenvalues () const
Вычисляет собственные значения матрицы. Подробнее...
const LDLT< PlainObject, UpLo > ldlt () const
const LLT< PlainObject, UpLo > llt () const
template<typename OtherDerived >
const Product< SelfAdjointView, OtherDerived > operator* (const MatrixBase< OtherDerived > &rhs) const
RealScalar operatorNorm () const
Вычисляет операторную норму L2. Подробнее...
template<typename DerivedU , typename DerivedV >
SelfAdjointView & rankUpdate (const MatrixBase< DerivedU > &u, const MatrixBase< DerivedV > &v, const Scalar &alpha=Scalar(1))
template<typename DerivedU >
SelfAdjointView & rankUpdate (const MatrixBase< DerivedU > &u, const Scalar &alpha=Scalar(1))
TransposeReturnType transpose ()
const ConstTransposeReturnType transpose () const
template<unsigned int TriMode>
internal::conditional<(TriMode &(Upper|Lower))==(UpLo &(Upper|Lower)), TriangularView< MatrixType, TriMode >, TriangularView< typename MatrixType::AdjointReturnType, TriMode > >::type triangularView () const
- Публичные члены-функции, унаследованные от Eigen::TriangularBase< SelfAdjointView< _MatrixType, UpLo > >
void copyCoeff (Index row, Index col, Other &other)
void evalTo (MatrixBase< DenseDerived > &other) const
void evalToLazy (MatrixBase< DenseDerived > &other) const
- Публичные члены-функции, унаследованные от Eigen::EigenBase< Derived >
EIGEN_CONSTEXPR Index cols () const EIGEN_NOEXCEPT
Derived & derived ()
const Derived & derived () const
EIGEN_CONSTEXPR Index rows () const EIGEN_NOEXCEPT
EIGEN_CONSTEXPR Index size () const EIGEN_NOEXCEPT

EigenvaluesReturnType

template<typename _MatrixType , unsigned int UpLo>
typedef Matrix<RealScalar, internal::traits<MatrixType>::ColsAtCompileTime, 1> Eigen::SelfAdjointView< _MatrixType, UpLo >::EigenvaluesReturnType

Тип возвращаемого значения для eigenvalues()

RealScalar

template<typename _MatrixType , unsigned int UpLo>
typedef NumTraits<Scalar>::Real Eigen::SelfAdjointView< _MatrixType, UpLo >::RealScalar

Вещественная часть Scalar

adjoint()

template<typename _MatrixType , unsigned int UpLo>
const AdjointReturnType Eigen::SelfAdjointView< _MatrixType, UpLo >::adjoint ( ) const
inline
См. также
MatrixBase::adjoint() const

coeff()

template<typename _MatrixType , unsigned int UpLo>
Scalar Eigen::SelfAdjointView< _MatrixType, UpLo >::coeff ( Index row,
Index col
) const
inline
См. также
MatrixBase::coeff()
Предупреждение
координаты должны соответствовать эталонной треугольной части

coeffRef()

template<typename _MatrixType , unsigned int UpLo>
Scalar& Eigen::SelfAdjointView< _MatrixType, UpLo >::coeffRef ( Index row,
Index col
)
inline
См. также
MatrixBase::coeffRef()
Предупреждение
координаты должны соответствовать эталонной треугольной части

conjugate()

template<typename _MatrixType , unsigned int UpLo>
const ConjugateReturnType Eigen::SelfAdjointView< _MatrixType, UpLo >::conjugate ( void ) const
inline
См. также
MatrixBase::conjugate() const

conjugateIf()

template<typename _MatrixType , unsigned int UpLo>
template<bool Cond>
internal::conditional<Cond,ConjugateReturnType,ConstSelfAdjointView>::type Eigen::SelfAdjointView< _MatrixType, UpLo >::conjugateIf ( ) const
inline
Возвращает
выражение комплексно сопряжённого значения *this если Cond==true, в противном случае возвращает *this.

diagonal()

template<typename _MatrixType , unsigned int UpLo>
MatrixType::ConstDiagonalReturnType Eigen::SelfAdjointView< _MatrixType, UpLo >::diagonal ( ) const
inline
Возвращает
const выражение главной диагонали матрицы *this

Этот метод просто возвращает диагональ вложенного выражения, тем самым обойдя декоратор SelfAdjointView.

См. также
MatrixBase::diagonal(), класс Diagonal

eigenvalues()

template<typename MatrixType , unsigned int UpLo>
SelfAdjointView< MatrixType, UpLo >::EigenvaluesReturnType Eigen::SelfAdjointView< MatrixType, UpLo >::eigenvalues
inline

Вычисляет собственные значения матрицы.

Возвращает
Столбец, содержащий собственные значения.

Определено в модуле Eigenvalues.

#include <Eigen/Eigenvalues> 

Эта функция вычисляет собственные значения с помощью класса SelfAdjointEigenSolver. Собственные значения повторяются в соответствии с их алгебраической кратностью, поэтому их количество равно числу строк в матрице.

Пример:

MatrixXd ones = MatrixXd::Ones(3,3);
VectorXd eivals = ones.selfadjointView<Lower>().eigenvalues();
cout << "The eigenvalues of the 3x3 matrix of ones are:" << endl << eivals << endl;

Вывод:

The eigenvalues of the 3x3 matrix of ones are:
-3.09e-16
        0
        3
См. также
SelfAdjointEigenSolver::eigenvalues(), MatrixBase::eigenvalues()

ldlt()

template<typename MatrixType , unsigned int UpLo>
const LDLT< typename SelfAdjointView< MatrixType, UpLo >::PlainObject, UpLo > Eigen::SelfAdjointView< MatrixType, UpLo >::ldlt
inline

Определено в модуле Cholesky.

#include <Eigen/Cholesky> 
Возвращает
разложение Холецкого с полным поворотом без квадратного корня из *this
См. также
MatrixBase::ldlt()

llt()

template<typename MatrixType , unsigned int UpLo>
const LLT< typename SelfAdjointView< MatrixType, UpLo >::PlainObject, UpLo > Eigen::SelfAdjointView< MatrixType, UpLo >::llt
inline

Определено в модуле Cholesky.

#include <Eigen/Cholesky> 
Возвращает
разложение LLT от *this
См. также
SelfAdjointView::llt()

operator*()

template<typename _MatrixType , unsigned int UpLo>
template<typename OtherDerived >
const Product<SelfAdjointView,OtherDerived> Eigen::SelfAdjointView< _MatrixType, UpLo >::operator* ( const MatrixBase< OtherDerived > & rhs ) const
inline

Эффективное умножение треугольной матрицы на вектор/матрицу

operatorNorm()

template<typename MatrixType , unsigned int UpLo>
SelfAdjointView< MatrixType, UpLo >::RealScalar Eigen::SelfAdjointView< MatrixType, UpLo >::operatorNorm
inline

Вычисляет операторную норму L2.

Возвращает
Операторная норма матрицы.

Определено в модуле Eigenvalues.

#include <Eigen/Eigenvalues> 

Эта функция вычисляет операторную норму L2 самосопряжённой матрицы. Для самосопряжённой матрицы операторная норма равна наибольшему собственному значению.

Текущая реализация использует собственные значения матрицы, вычисленные с помощью eigenvalues(), для вычисления операторной нормы матрицы.

Пример:

MatrixXd ones = MatrixXd::Ones(3,3);
cout << "The operator norm of the 3x3 matrix of ones is "
     << ones.selfadjointView<Lower>().operatorNorm() << endl;

Вывод:

The operator norm of the 3x3 matrix of ones is 3
См. также
eigenvalues(), MatrixBase::operatorNorm()

rankUpdate() [1/2]

template<typename _MatrixType , unsigned int UpLo>
template<typename DerivedU , typename DerivedV >
SelfAdjointView& Eigen::SelfAdjointView< _MatrixType, UpLo >::rankUpdate ( const MatrixBase< DerivedU > & u,
const MatrixBase< DerivedV > & v,
const Scalar & alpha = Scalar(1)
)

Выполняет симметричное обновление ранга 2 самосопряжённой матрицы *this: \( this = this + \alpha u v^* + conj(\alpha) v u^* \)

Возвращает
ссылку на *this

Вектора u и v должны быть столбцами, однако они могут быть сопряжёнными выражениями без дополнительной нагрузки. Обновляется только значимая треугольная часть матрицы, остальные элементы остаются неизменными.

См. также
rankUpdate(const MatrixBase<DerivedU>&, Scalar)

rankUpdate() [2/2]

template<typename _MatrixType , unsigned int UpLo>
template<typename DerivedU >
SelfAdjointView& Eigen::SelfAdjointView< _MatrixType, UpLo >::rankUpdate ( const MatrixBase< DerivedU > & u,
const Scalar & alpha = Scalar(1)
)

Выполните симметричное обновление ранга K для самосопряжённой матрицы *this: \( this = this + \alpha ( u u^* ) \) где u — вектор или матрица.

Возвращает
ссылку на *this

Обратите внимание, что для выполнения \( this = this + \alpha ( u^* u ) \) вы можете просто вызвать эту функцию с u.adjoint().

См. также
rankUpdate(const MatrixBase<DerivedU>&, const MatrixBase<DerivedV>&, Scalar)

transpose() [1/2]

template<typename _MatrixType , unsigned int UpLo>
TransposeReturnType Eigen::SelfAdjointView< _MatrixType, UpLo >::transpose ( )
inline
См. также
MatrixBase::transpose()

transpose() [2/2]

template<typename _MatrixType , unsigned int UpLo>
const ConstTransposeReturnType Eigen::SelfAdjointView< _MatrixType, UpLo >::transpose ( ) const
inline
См. также
MatrixBase::transpose() const

triangularView()

template<typename _MatrixType , unsigned int UpLo>
template<unsigned int TriMode>
internal::conditional<(TriMode&(Upper|Lower))==(UpLo&(Upper|Lower)), TriangularView<MatrixType,TriMode>, TriangularView<typename MatrixType::AdjointReturnType,TriMode> >::type Eigen::SelfAdjointView< _MatrixType, UpLo >::triangularView ( ) const
inline
Возвращает
выражение вида треугольной матрицы, полученной из текущей самосопряженной матрицы для заданной треугольной части

Параметр TriMode может иметь следующие значения: Upper, StrictlyUpper, UnitUpper, Lower, StrictlyLower, UnitLower.

Если TriMode ссылается на ту же треугольную часть, что и *this, то этот метод просто возвращает TriangularView вложенного выражения, в противном случае вложенное выражение сначала транспонируется, и возвращается объект TriangularView<Transpose<MatrixType>>.

См. также
MatrixBase::triangularView(), class TriangularView

The documentation for this class was generated from the following files:
  • SelfAdjointView.h
  • LDLT.h
  • LLT.h
  • MatrixBaseEigenvalues.h

© Eigen.
Licensed under the MPL2 License.
https://eigen.tuxfamily.org/dox/classEigen_1_1SelfAdjointView.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API