Spec-Zone.ru › Eigen3

Eigen::BDCSVD

шаблон<typename _MatrixType>
class Eigen::BDCSVD< _MatrixType >

класс Бidiagonal Divide and Conquer SVD

Шаблочные параметры
_MatrixType тип матрицы, для которой вычисляется SVD разложение

Этот класс сначала сводит входную матрицу к бидиагональной форме, используя класс UpperBidiagonalization, а затем выполняет диагонализацию по принципу «разделяй и властвуй». Малые блоки диагонализируются с помощью класса JacobiSVD. Размер переключения можно контролировать с помощью метода setSwitchSize(), по умолчанию он равен 16. Для небольших матриц (<16) предпочтительнее напрямую использовать JacobiSVD. Для больших матриц BDCSVD рекомендуется и может быть быстрее на несколько порядков.

Предупреждение
Этот алгоритм вряд ли обеспечит точный результат при компиляции с небезопасными оптимизациями математических операций. Например, это касается компилятора Intel (ICC), который выполняет такую оптимизацию по умолчанию, если вы не скомпилируете с опцией -fp-model precise. Аналогично, опция -ffast-math компилятора GCC или clang значительно ухудшит точность.
См. также
класс JacobiSVD
Inheritance graph
BDCSVD ()
Конструктор по умолчанию. Подробнее...
BDCSVD (const MatrixType &matrix, unsigned int computationOptions=0)
Конструктор, выполняющий разложение заданной матрицы. Подробнее...
BDCSVD (Index rows, Index cols, unsigned int computationOptions=0)
Конструктор по умолчанию с предварительной выделением памяти. Подробнее...
EIGEN_CONSTEXPR Index cols () const EIGEN_NOEXCEPT
BDCSVD & compute (const MatrixType &matrix)
Метод, выполняющий разложение заданной матрицы с использованием текущих параметров. Подробнее...
BDCSVD & compute (const MatrixType &matrix, unsigned int computationOptions)
Метод, выполняющий разложение заданной матрицы с использованием пользовательских параметров. Подробнее...
EIGEN_CONSTEXPR Index rows () const EIGEN_NOEXCEPT
- Публичные члены-функции, унаследованные от Eigen::SVDBase< BDCSVD< _MatrixType > >
bool computeU () const
bool computeV () const
ComputationInfo info () const
Сообщает, был ли предыдущий вызов успешным. Подробнее...
const MatrixUType & matrixU () const
const MatrixVType & matrixV () const
Index nonzeroSingularValues () const
Index rank () const
BDCSVD< _MatrixType > & setThreshold (const RealScalar &threshold)
BDCSVD< _MatrixType > & setThreshold (Default_t)
const SingularValuesType & singularValues () const
const Solve< BDCSVD< _MatrixType >, Rhs > solve (const MatrixBase< Rhs > &b) const
RealScalar threshold () const
- Публичные члены-функции, унаследованные от Eigen::SolverBase< Derived >
AdjointReturnType adjoint () const
Derived & derived ()
const Derived & derived () const
template<typename Rhs >
const Solve< Derived, Rhs > solve (const MatrixBase< Rhs > &b) const
SolverBase ()
ConstTransposeReturnType transpose () 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
- Публичные типы, унаследованные от Eigen::SVDBase< BDCSVD< _MatrixType > >
typedef Eigen::Index Index
- Публичные типы, унаследованные от Eigen::EigenBase< Derived >
typedef Eigen::Index Index
Тип индексов. Подробнее...
- Защищённые члены-функции, унаследованные от Eigen::SVDBase< BDCSVD< _MatrixType > >
SVDBase ()
Конструктор по умолчанию. Подробнее...

BDCSVD() [1/3]

template<typename _MatrixType >
Eigen::BDCSVD< _MatrixType >::BDCSVD ( )
inline

Конструктор по умолчанию.

Конструктор по умолчанию полезен в тех случаях, когда пользователь намерен выполнить разложение с помощью BDCSVD::compute(const MatrixType&).

BDCSVD() [2/3]

template<typename _MatrixType >
Eigen::BDCSVD< _MatrixType >::BDCSVD ( Index rows,
Index cols,
unsigned int computationOptions = 0
)
inline

Конструктор по умолчанию с предварительной выделением памяти.

Аналогичен конструктору по умолчанию, но с предварительной выделением внутренней памяти в соответствии с указанными размерами задачи.

См. также
BDCSVD()

BDCSVD() [3/3]

template<typename _MatrixType >
Eigen::BDCSVD< _MatrixType >::BDCSVD ( const MatrixType & matrix,
unsigned int computationOptions = 0
)
inline

Конструктор, выполняющий разложение заданной матрицы.

Параметры
matrix матрица для разложения
computationOptions необязательный параметр, позволяющий указать, нужно ли вычислять полные или тонкие унитарные матрицы U или V. По умолчанию не вычисляется ни одна. Это битовое поле, возможные биты: ComputeFullU, ComputeThinU, ComputeFullV, ComputeThinV.

Тонкие унитарные матрицы доступны только если у вашего типа матриц динамическое количество столбцов (например, MatrixXf). Они также недоступны с (не по умолчанию) предобусловленностью FullPivHouseholderQR.

cols()

template<typename _MatrixType >
EIGEN_CONSTEXPR Index Eigen::EigenBase< Derived >::cols ( void )
inline
Возвращает
количество столбцов.
См. также
rows(), ColsAtCompileTime

compute() [1/2]

template<typename _MatrixType >
BDCSVD& Eigen::BDCSVD< _MatrixType >::compute ( const MatrixType & matrix )
inline

Метод, выполняющий разложение заданной матрицы с использованием текущих параметров.

Параметры
matrix матрица для разложения

Этот метод использует текущие computationOptions, как уже было передано в конструктор или в compute(const MatrixType&, unsigned int).

compute() [2/2]

template<typename MatrixType >
BDCSVD< MatrixType > & Eigen::BDCSVD< MatrixType >::compute ( const MatrixType & matrix,
unsigned int computationOptions
)

Метод, выполняющий разложение заданной матрицы с использованием пользовательских параметров.

Параметры
matrix матрица для разложения
computationOptions необязательный параметр, позволяющий указать, нужно ли вычислять полные или тонкие унитарные матрицы U или V. По умолчанию не вычисляется ни одна. Это битовое поле, возможные биты: ComputeFullU, ComputeThinU, ComputeFullV, ComputeThinV.

Тонкие унитарные матрицы доступны только если у вашего типа матриц динамическое количество столбцов (например, MatrixXf). Они также недоступны с (не по умолчанию) предобусловленностью FullPivHouseholderQR.

rows()

template<typename _MatrixType >
EIGEN_CONSTEXPR Index Eigen::EigenBase< Derived >::rows ( void )
inline
Возвращает
количество строк.
См. также
cols(), RowsAtCompileTime

The documentation for this class was generated from the following file:
  • BDCSVD.h

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

Spec-Zone.ru

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