Spec-Zone.ru › Eigen3

Eigen::PermutationBase

template<typename Derived>
class Eigen::PermutationBase< Derived >

Базовый класс для перестановок.

Параметры шаблона
Derived производный класс

Этот класс является базовым для всех выражений, представляющих матрицу перестановок, внутренне хранящихся как вектор целых чисел. Применяемая здесь конвенция такова, что если \( \sigma \) — перестановка, то соответствующая матрица перестановок \( P_\sigma \) такова, что если \( (e_1,\ldots,e_p) \) — канонический базис, то:

\[ P_\sigma(e_i) = e_{\sigma(i)}. \]

Эта конвенция гарантирует, что для любых двух перестановок \( \sigma, \tau \) справедливо:

\[ P_{\sigma\circ\tau} = P_\sigma P_\tau. \]

Матрицы перестановок являются квадратными и обратимыми.

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

См. также
класс PermutationMatrix, класс PermutationWrapper
Inheritance graph
Derived & applyTranspositionOnTheLeft (Index i, Index j)
Derived & applyTranspositionOnTheRight (Index i, Index j)
Index cols () const
Index determinant () const
IndicesType & indices ()
const IndicesType & indices () const
InverseReturnType inverse () const
template<typename Other >
PlainPermutationType operator* (const InverseImpl< Other, PermutationStorage > &other) const
template<typename Other >
PlainPermutationType operator* (const PermutationBase< Other > &other) const
template<typename OtherDerived >
Derived & operator= (const PermutationBase< OtherDerived > &other)
template<typename OtherDerived >
Derived & operator= (const TranspositionsBase< OtherDerived > &tr)
void resize (Index newSize)
Index rows () const
void setIdentity ()
void setIdentity (Index newSize)
Index size () const
DenseMatrixType toDenseMatrix () const
InverseReturnType 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::EigenBase< Derived >
typedef Eigen::Index Index
Интерфейсный тип индексов. Подробнее...

applyTranspositionOnTheLeft()

template<typename Derived >
Derived& Eigen::PermutationBase< Derived >::applyTranspositionOnTheLeft ( Index i,
Index j
)
inline

Умножает *this на транспозицию \((ij)\) слева.

Возвращает
ссылку на *this.
Предупреждение
Это намного медленнее, чем applyTranspositionOnTheRight(Index,Index): это имеет линейную сложность и требует много ветвлений.
См. также
applyTranspositionOnTheRight(Index,Index)

applyTranspositionOnTheRight()

template<typename Derived >
Derived& Eigen::PermutationBase< Derived >::applyTranspositionOnTheRight ( Index i,
Index j
)
inline

Умножает *this на транспонирование \((ij)\) справа.

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

Это быстрая операция, она состоит только из перестановки двух индексов.

См. также
applyTranspositionOnTheLeft(Index,Index)

cols()

template<typename Derived >
Index Eigen::PermutationBase< Derived >::cols ( void ) const
inline
Возвращает
количество столбцов

determinant()

template<typename Derived >
Index Eigen::PermutationBase< Derived >::determinant ( ) const
inline
Возвращает
определитель матрицы перестановки, который равен 1 или -1 в зависимости от чётности перестановки.

Эта функция имеет сложность O(n) и выделяет буфер размером n булевых значений.

indices() [1/2]

template<typename Derived >
IndicesType& Eigen::PermutationBase< Derived >::indices ( )
inline
Возвращает
ссылку на хранимый массив, представляющий перестановку.

indices() [2/2]

template<typename Derived >
const IndicesType& Eigen::PermutationBase< Derived >::indices ( ) const
inline

Константная версия функции indices().

inverse()

template<typename Derived >
InverseReturnType Eigen::PermutationBase< Derived >::inverse ( ) const
inline
Возвращает
обратную матрицу перестановки.
Примечание
Эта функция возвращает результат по значению. Для повышения эффективности она реализована как просто оператор возврата, используя специальный конструктор, который, надеюсь, позволит компилятору выполнить оптимизацию возвращаемого значения (RVO).

operator*() [1/2]

template<typename Derived >
template<typename Other >
PlainPermutationType Eigen::PermutationBase< Derived >::operator* ( const InverseImpl< Other, PermutationStorage > & other ) const
inline
Возвращает
произведение перестановки с другой обратной перестановкой.
Примечание
Эта функция возвращает результат по значению. Для повышения эффективности она реализована как просто оператор возврата, используя специальный конструктор, который, надеюсь, позволит компилятору выполнить оптимизацию возвращаемого значения (RVO).

operator*() [2/2]

template<typename Derived >
template<typename Other >
PlainPermutationType Eigen::PermutationBase< Derived >::operator* ( const PermutationBase< Other > & other ) const
inline
Возвращает
результирующую матрицу перестановки.
Примечание
Эта функция возвращает результат по значению. Для повышения эффективности она реализована как просто оператор возврата, используя специальный конструктор, который, надеюсь, позволит компилятору выполнить оптимизацию возвращаемого значения (RVO).

operator=() [1/2]

template<typename Derived >
template<typename OtherDerived >
Derived& Eigen::PermutationBase< Derived >::operator= ( const PermutationBase< OtherDerived > & other )
inline

Копирует перестановку other в *this.

operator=() [2/2]

template<typename Derived >
template<typename OtherDerived >
Derived& Eigen::PermutationBase< Derived >::operator= ( const TranspositionsBase< OtherDerived > & tr )
inline

Присваивание из Transpositions tr.

resize()

template<typename Derived >
void Eigen::PermutationBase< Derived >::resize ( Index newSize )
inline

Изменяет размер на заданный размер.

rows()

template<typename Derived >
Index Eigen::PermutationBase< Derived >::rows ( void ) const
inline
Возвращает
количество строк

setIdentity() [1/2]

template<typename Derived >
void Eigen::PermutationBase< Derived >::setIdentity ( )
inline

Устанавливает *this в качестве единичной матрицы перестановки.

setIdentity() [2/2]

template<typename Derived >
void Eigen::PermutationBase< Derived >::setIdentity ( Index newSize )
inline

Устанавливает *this в качестве единичной матрицы перестановки заданного размера.

size()

template<typename Derived >
Index Eigen::PermutationBase< Derived >::size ( ) const
inline
Возвращает
размер стороны соответствующей квадратной матрицы, т.е. количество индексов.

toDenseMatrix()

template<typename Derived >
DenseMatrixType Eigen::PermutationBase< Derived >::toDenseMatrix ( ) const
inline
Возвращает
объект Matrix, инициализированный из этой матрицы перестановки. Обратите внимание, что возвращать этот объект Matrix по значению неэффективно. Для повышения эффективности используйте конструктор Matrix, принимающий объекты EigenBase.

transpose()

template<typename Derived >
InverseReturnType Eigen::PermutationBase< Derived >::transpose ( ) const
inline
Возвращает
матрицу транспонирования перестановок.
Примечание
Эта функция возвращает результат по значению. Для повышения эффективности она реализована как просто оператор возврата с использованием специального конструктора, что позволит компилятору выполнить RVO (оптимизацию возвращаемого значения).

Документация для этого класса была сгенерирована из следующего файла:
  • PermutationMatrix.h

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

Spec-Zone.ru

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