Eigen::SparseMatrixBase
template<typename Derived>
class Eigen::SparseMatrixBase< Derived >
Базовый класс для любых разреженных матриц или разреженных выражений.
- Параметры шаблона
-
Derived тип производного класса, например, тип разреженной матрицы или выражение и т.д.
Этот класс можно расширить с помощью механизма плагинов, описанного на странице Расширение MatrixBase (и других классов), определив препроцессорную метку EIGEN_SPARSEMATRIXBASE_PLUGIN.
| перечисление | { RowsAtCompileTime , ColsAtCompileTime , SizeAtCompileTime , MaxRowsAtCompileTime , MaxColsAtCompileTime , MaxSizeAtCompileTime , IsVectorAtCompileTime , NumDimensions , Flags , IsRowMajor , InnerSizeAtCompileTime } |
| typedef internal::traits< Derived >::StorageIndex | StorageIndex |
| typedef Scalar | value_type |
|
| |
| typedef Eigen::Index | Index |
| Тип индексов интерфейса. Подробнее... |
|
| Index | cols () const |
| const internal::eval< Derived >::type | eval () const |
| Index | innerSize () const |
| bool | isVector () const |
| template<typename OtherDerived > | |
| const Product< Derived, OtherDerived, AliasFreeProduct > | operator* (const SparseMatrixBase< OtherDerived > &other) const |
| Index | outerSize () const |
| const SparseView< Derived > | pruned (const Scalar &reference=Scalar(0), const RealScalar &epsilon=NumTraits< Scalar >::dummy_precision()) const |
| Index | rows () const |
| Index | size () const |
| SparseSymmetricPermutationProduct< Derived, Upper|Lower > | twistedBy (const PermutationMatrix< Dynamic, Dynamic, StorageIndex > &perm) const |
|
| |
| 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 |
StorageIndex
| typedef internal::traits<Derived>::StorageIndex Eigen::SparseMatrixBase< Derived >::StorageIndex |
Целочисленный тип, используемый для хранения индексов в SparseMatrix. В случае SparseMatrix<Scalar,Options,IndexType> это псевдоним третьего параметра шаблона IndexType.
value_type
| typedef Scalar Eigen::SparseMatrixBase< Derived >::value_type |
Числовой тип коэффициентов выражения, например, float, double, int или std::complex<float> и т.д.
Это псевдоним для типа Scalar
безымянный перечислитель
| anonymous enum |
| Перечислитель | |
|---|---|
| RowsAtCompileTime |
Количество строк на этапе компиляции. Это просто копия значения, предоставленного типом Derived. Если значение не известно на этапе компиляции, оно устанавливается в константу Dynamic. |
| ColsAtCompileTime |
Количество столбцов на этапе компиляции. Это просто копия значения, предоставленного типом Derived. Если значение не известно на этапе компиляции, оно устанавливается в константу Dynamic. |
| SizeAtCompileTime |
Это равно количеству коэффициентов, т. е. количеству строк, умноженному на количество столбцов, или Dynamic, если это не известно на этапе компиляции.
|
| IsVectorAtCompileTime |
Устанавливается в значение true, если количество строк или столбцов известно на этапе компиляции и равно 1. Действительно, в этом случае мы имеем дело с вектор-столбцом (если только один столбец) или с вектор-строкой (если только одна строка). |
| NumDimensions |
Это значение равно Tensor::NumDimensions, т. е. 0 для скаляров, 1 для векторов и 2 для матриц. |
| Flags |
Хранит флаги выражений Флаги, которые могут или не могут наследоваться новыми выражениями, построенными из этого. См. список флагов. |
cols()
| inline |
- Возвращает
- количество столбцов.
- См. также
- rows()
eval()
| inline |
- Возвращает
- матрицу или вектор, полученные путем вычисления этого выражения.
Обратите внимание, что в случае простой матрицы или вектора (не выражения) эта функция просто возвращает константную ссылку, чтобы избежать ненужного копирования.
innerSize()
| inline |
- Возвращает
- размер внутреннего измерения в соответствии с порядком хранения, т. е. количество строк для матрицы по столбцам, и количество столбцов в противном случае
isVector()
| inline |
- Возвращает
- true, если количество строк или столбцов равно 1. Другими словами, эта функция возвращает
rows()==1 || cols()==1
- См. также
- rows(), cols(), IsVectorAtCompileTime.
operator*()
| inline |
- Возвращает
- выражение произведения двух разреженных матриц. По умолчанию выполняется консервативное произведение, сохраняющее символические ненулевые значения. Автоматическое обрезание малых значений может быть достигнуто путем вызова функции pruned(), в этом случае используется совершенно другой алгоритм произведения:
C = (A*B).pruned(); // suppress numerical zeros (exact) C = (A*B).pruned(ref); C = (A*B).pruned(ref,epsilon);
гдеrefявляется значимым ненулевым опорным значением.
outerSize()
| inline |
- Возвращает
- размер хранилища основного измерения, т. е. количество столбцов для матрицы по столбцам, и количество строк в противном случае
pruned()
| inline |
- Возвращает
- выражение
*thisс удаленными значениями, меньшими, чем reference * epsilon.
Этот метод обычно используется совместно с произведением двух разреженных матриц для автоматического обрезания наименьших значений следующим образом:
C = (A*B).pruned(); // suppress numerical zeros (exact) C = (A*B).pruned(ref); C = (A*B).pruned(ref,epsilon);
где ref является значимым ненулевым опорным значением.
rows()
| inline |
- Возвращает
- количество строк.
- См. также
- cols()
size()
| inline |
twistedBy()
| inline |
- Возвращает
- выражение P H P-1, где H — матрица, представленная
*this
The documentation for this class was generated from the following files:
© Eigen.
Licensed under the MPL2 License.
https://eigen.tuxfamily.org/dox/classEigen_1_1SparseMatrixBase.html