Loading...
Searching...
No Matches
MatrixCSR-Impl.hpp
Go to the documentation of this file.
118}
136 m_nonZeros.clear();
139 m_rowPointers.push_back(0);
180 {
191 m_columnIndices.push_back(j);
195 }
198 }
MatrixCSR< U > CastTo() const
Type-casts to different value-typed matrix.
Definition MatrixCSR-Impl.hpp:828
bool IsEqual(const MatrixCSR &other) const
Definition MatrixCSR-Impl.hpp:323
typename NonZeroContainerType::const_iterator ConstNonZeroIterator
Definition MatrixCSR.hpp:89
MatrixCSR RSub(const T &s) const
Returns input scalar - this matrix.
Definition MatrixCSR-Impl.hpp:624
T AbsMax() const
Returns absolute maximum among all elements.
Definition MatrixCSR-Impl.hpp:789
IndexContainerType::iterator IndexIterator
Definition MatrixCSR.hpp:92
IndexContainerType::const_iterator ConstIndexIterator
Definition MatrixCSR.hpp:93
MatrixCSR Add(const T &s) const
Returns this matrix + input scalar.
Definition MatrixCSR-Impl.hpp:548
void AddElement(size_t i, size_t j, const T &value)
Adds non-zero element to (i, j).
Definition MatrixCSR-Impl.hpp:235
void IAdd(const T &s)
Adds input scalar to this matrix.
Definition MatrixCSR-Impl.hpp:658
void Set(const T &s)
Sets whole matrix with input scalar.
Definition MatrixCSR-Impl.hpp:143
IndexIterator RowPointersBegin()
Returns the begin iterator of the row pointers.
Definition MatrixCSR-Impl.hpp:499
size_t NumberOfNonZeros() const
Returns the number of non-zero elements.
Definition MatrixCSR-Impl.hpp:421
size_t GetRows() const
Returns number of rows of this matrix.
Definition MatrixCSR-Impl.hpp:409
const size_t & RowPointer(size_t i) const
Returns i-th row pointer.
Definition MatrixCSR-Impl.hpp:439
IndexIterator ColumnIndicesEnd()
Returns the end iterator of the column indices.
Definition MatrixCSR-Impl.hpp:536
const T & NonZero(size_t i) const
Returns i-th non-zero element.
Definition MatrixCSR-Impl.hpp:427
void Compress(const std::initializer_list< std::initializer_list< T > > &lst, T epsilon=std::numeric_limits< T >::epsilon())
Compresses given initializer list lst into a sparse matrix.
Definition MatrixCSR-Impl.hpp:167
std::vector< T > NonZeroContainerType
Definition MatrixCSR.hpp:87
void IDiv(const T &s)
Divides this matrix with input scalar.
Definition MatrixCSR-Impl.hpp:700
T operator()(size_t i, size_t j) const
Returns (i,j) element.
Definition MatrixCSR-Impl.hpp:915
MatrixCSR & operator/=(const T &s)
Division assignment with input scalar.
Definition MatrixCSR-Impl.hpp:907
bool IsSquare() const
Returns true if this matrix is a square matrix.
Definition MatrixCSR-Impl.hpp:397
MatrixCSR & operator*=(const T &s)
Multiplication assignment with input scalar.
Definition MatrixCSR-Impl.hpp:890
const size_t * RowPointersData() const
Returns constant pointer of the row pointers data.
Definition MatrixCSR-Impl.hpp:463
T * NonZeroData()
Returns pointer of the non-zero elements data.
Definition MatrixCSR-Impl.hpp:451
bool operator==(const MatrixCSR &m) const
Returns true if is equal to m.
Definition MatrixCSR-Impl.hpp:928
NonZeroIterator NonZeroBegin()
Returns the begin iterator of the non-zero elements.
Definition MatrixCSR-Impl.hpp:475
const size_t & ColumnIndex(size_t i) const
Returns i-th column index.
Definition MatrixCSR-Impl.hpp:445
static MatrixCSR< T > MakeIdentity(size_t m)
Definition MatrixCSR-Impl.hpp:940
void AddRow(const NonZeroContainerType &nonZeros, const IndexContainerType &columnIndices)
Definition MatrixCSR-Impl.hpp:273
void Clear()
Clears the matrix and make it zero-dimensional.
Definition MatrixCSR-Impl.hpp:133
void IMul(const T &s)
Multiplies input scalar to this matrix.
Definition MatrixCSR-Impl.hpp:684
MatrixCSR()
Constructs an empty matrix.
Definition MatrixCSR-Impl.hpp:77
T Min() const
Returns minimum among all elements.
Definition MatrixCSR-Impl.hpp:731
bool operator!=(const MatrixCSR &m) const
Returns true if is not equal to m.
Definition MatrixCSR-Impl.hpp:934
bool IsSimilar(const MatrixCSR &other, double tol=std::numeric_limits< double >::epsilon()) const
Definition MatrixCSR-Impl.hpp:360
IndexIterator ColumnIndicesBegin()
Returns the begin iterator of the column indices.
Definition MatrixCSR-Impl.hpp:523
T AbsMin() const
Returns absolute minimum among all elements.
Definition MatrixCSR-Impl.hpp:771
Vector2UZ Size() const
Returns the size of this matrix.
Definition MatrixCSR-Impl.hpp:403
MatrixCSR Sub(const T &s) const
Returns this matrix - input scalar.
Definition MatrixCSR-Impl.hpp:565
T Avg() const
Returns average of all elements.
Definition MatrixCSR-Impl.hpp:725
void SetElement(size_t i, size_t j, const T &value)
Sets non-zero element to (i, j).
Definition MatrixCSR-Impl.hpp:303
MatrixCSR Div(const T &s) const
Returns this matrix / input scalar.
Definition MatrixCSR-Impl.hpp:601
size_t GetCols() const
Returns number of columns of this matrix.
Definition MatrixCSR-Impl.hpp:415
std::vector< size_t > IndexContainerType
Definition MatrixCSR.hpp:91
T Max() const
Returns maximum among all elements.
Definition MatrixCSR-Impl.hpp:751
MatrixCSR RMul(const T &s) const
Returns input scalar * this matrix.
Definition MatrixCSR-Impl.hpp:641
MatrixCSR RAdd(const T &s) const
Returns input scalar + this matrix.
Definition MatrixCSR-Impl.hpp:612
const size_t * ColumnIndicesData() const
Returns constant pointer of the column indices data.
Definition MatrixCSR-Impl.hpp:469
void ISub(const T &s)
Subtracts input scalar from this matrix.
Definition MatrixCSR-Impl.hpp:671
IndexIterator RowPointersEnd()
Returns the end iterator of the row pointers.
Definition MatrixCSR-Impl.hpp:511
MatrixCSR RDiv(const T &s) const
Returns input matrix / this scalar.
Definition MatrixCSR-Impl.hpp:647
NonZeroIterator NonZeroEnd()
Returns the end iterator of the non-zero elements.
Definition MatrixCSR-Impl.hpp:487
MatrixCSR & operator=(const MatrixCSR &other)
Copies to this matrix.
Definition MatrixCSR-Impl.hpp:113
MatrixCSR & operator-=(const T &s)
Subtraction assignment with input scalar.
Definition MatrixCSR-Impl.hpp:874
void Reserve(size_t rows, size_t cols, size_t numNonZeros)
Reserves memory space of this matrix.
Definition MatrixCSR-Impl.hpp:158
typename NonZeroContainerType::iterator NonZeroIterator
Definition MatrixCSR.hpp:88
MatrixCSR & operator+=(const T &s)
Addition assignment with input scalar.
Definition MatrixCSR-Impl.hpp:858
MatrixCSR Mul(const T &s) const
Returns this matrix * input scalar.
Definition MatrixCSR-Impl.hpp:582
size_t GetCols() const
Number of columns.
Definition MatrixCSR-Impl.hpp:41
T operator()(size_t i, size_t j) const
Returns matrix element at (i, j).
Definition MatrixCSR-Impl.hpp:47
MatrixCSRMatrixMul(const MatrixCSR< T > &m1, const ME &m2)
Definition MatrixCSR-Impl.hpp:23
size_t GetRows() const
Number of rows.
Definition MatrixCSR-Impl.hpp:35
Derived & GetDerived()
Returns actual implementation (the subclass).
Definition MatrixExpression-Impl.hpp:509
Definition Matrix.hpp:30
Definition pybind11Utils.hpp:21
ForwardIter BinaryFind(ForwardIter first, ForwardIter last, const T &value, Compare comp)
Definition CppUtils-Impl.hpp:21
MatrixCSR< T > operator-(const MatrixCSR< T > &a)
Definition MatrixCSR-Impl.hpp:1031
std::enable_if_t< std::is_arithmetic< T >::value, T > AbsMax(T x, T y)
Returns the absolute maximum value among the two inputs.
Definition MathUtils-Impl.hpp:84
void ParallelFor(IndexType beginIndex, IndexType endIndex, const Function &function, ExecutionPolicy policy)
Makes a for-loop from beginIndex to endIndex in parallel.
Definition Parallel-Impl.hpp:212
MatrixCSR< T > operator+(const MatrixCSR< T > &a, const MatrixCSR< T > &b)
Definition MatrixCSR-Impl.hpp:1037
MatrixCSR< T > operator/(const MatrixCSR< T > &a, T b)
Definition MatrixCSR-Impl.hpp:1092
Value ParallelReduce(IndexType beginIndex, IndexType endIndex, const Value &identity, const Function &function, const Reduce &reduce, ExecutionPolicy policy)
Performs reduce operation in parallel.
Definition Parallel-Impl.hpp:436
Vector< T, 3 > operator*(const Quaternion< T > &q, const Vector< T, 3 > &v)
Returns quaternion q * vector v.
Definition Quaternion-Impl.hpp:543
std::enable_if_t< std::is_arithmetic< T >::value, T > AbsMin(T x, T y)
Returns the absolute minimum value among the two inputs.
Definition MathUtils-Impl.hpp:78
Definition MatrixCSR.hpp:77
1.9.8