Sleipnir C++ API
Loading...
Searching...
No Matches
slp::VariableMatrix< Scalar_ > Class Template Reference

#include <sleipnir/autodiff/variable_matrix.hpp>

Inheritance diagram for slp::VariableMatrix< Scalar_ >:
slp::SleipnirBase

Public Types

using Scalar = Scalar_
 

Public Member Functions

 VariableMatrix ()=default
 
 VariableMatrix (int rows)
 
 VariableMatrix (int rows, int cols)
 
 VariableMatrix (detail::empty_t, int rows, int cols)
 
 VariableMatrix (std::initializer_list< std::initializer_list< Variable< Scalar > > > list)
 
 VariableMatrix (const std::vector< std::vector< Scalar > > &list)
 
 VariableMatrix (const std::vector< std::vector< Variable< Scalar > > > &list)
 
template<typename Derived >
 VariableMatrix (const Eigen::MatrixBase< Derived > &values)
 
template<typename Derived >
 VariableMatrix (const Eigen::DiagonalBase< Derived > &values)
 
 VariableMatrix (const Variable< Scalar > &variable)
 
 VariableMatrix (Variable< Scalar > &&variable)
 
 VariableMatrix (const VariableBlock< VariableMatrix > &values)
 
 VariableMatrix (const VariableBlock< const VariableMatrix > &values)
 
 VariableMatrix (std::span< const Variable< Scalar > > values)
 
 VariableMatrix (std::span< const Variable< Scalar > > values, int rows, int cols)
 
template<typename Derived >
VariableMatrixoperator= (const Eigen::MatrixBase< Derived > &values)
 
VariableMatrixoperator= (ScalarLike auto value)
 
template<typename Derived >
requires std::same_as<typename Derived::Scalar, Scalar>
void set_value (const Eigen::MatrixBase< Derived > &values)
 
Variable< Scalar > & operator[] (int row, int col)
 
const Variable< Scalar > & operator[] (int row, int col) const
 
Variable< Scalar > & operator[] (int index)
 
const Variable< Scalar > & operator[] (int index) const
 
VariableBlock< VariableMatrixblock (int row_offset, int col_offset, int block_rows, int block_cols)
 
const VariableBlock< const VariableMatrixblock (int row_offset, int col_offset, int block_rows, int block_cols) const
 
VariableBlock< VariableMatrixoperator[] (Slice row_slice, Slice col_slice)
 
const VariableBlock< const VariableMatrixoperator[] (Slice row_slice, Slice col_slice) const
 
VariableBlock< VariableMatrixoperator[] (Slice row_slice, int row_slice_length, Slice col_slice, int col_slice_length)
 
const VariableBlock< const VariableMatrixoperator[] (Slice row_slice, int row_slice_length, Slice col_slice, int col_slice_length) const
 
VariableBlock< VariableMatrixsegment (int offset, int length)
 
const VariableBlock< const VariableMatrixsegment (int offset, int length) const
 
VariableBlock< VariableMatrixrow (int row)
 
const VariableBlock< const VariableMatrixrow (int row) const
 
VariableBlock< VariableMatrixcol (int col)
 
const VariableBlock< const VariableMatrixcol (int col) const
 
VariableMatrixoperator*= (const MatrixLike auto &rhs)
 
VariableMatrixoperator*= (const ScalarLike auto &rhs)
 
VariableMatrixoperator/= (const ScalarLike auto &rhs)
 
VariableMatrixoperator+= (const MatrixLike auto &rhs)
 
VariableMatrixoperator+= (const ScalarLike auto &rhs)
 
VariableMatrixoperator-= (const MatrixLike auto &rhs)
 
VariableMatrixoperator-= (const ScalarLike auto &rhs)
 
 operator Variable< Scalar > () const
 
VariableMatrix< ScalarT () const
 
int rows () const
 
int cols () const
 
Scalar value (int row, int col)
 
Scalar value (int index)
 
Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > value ()
 
VariableMatrix< Scalarcwise_transform (function_ref< Variable< Scalar >(const Variable< Scalar > &x)> unary_op) const
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
const_iterator cbegin () const
 
const_iterator cend () const
 
reverse_iterator rbegin ()
 
reverse_iterator rend ()
 
const_reverse_iterator rbegin () const
 
const_reverse_iterator rend () const
 
const_reverse_iterator crbegin () const
 
const_reverse_iterator crend () const
 
size_t size () const
 

Static Public Member Functions

static VariableMatrix< Scalarzero (int rows, int cols)
 
static VariableMatrix< Scalarones (int rows, int cols)
 

Friends

template<EigenMatrixLike LHS, SleipnirMatrixLike< Scalar > RHS>
VariableMatrix< Scalaroperator* (const LHS &lhs, const RHS &rhs)
 
template<SleipnirMatrixLike< Scalar > LHS, EigenMatrixLike RHS>
VariableMatrix< Scalaroperator* (const LHS &lhs, const RHS &rhs)
 
template<SleipnirMatrixLike< Scalar > LHS, SleipnirMatrixLike< Scalar > RHS>
VariableMatrix< Scalaroperator* (const LHS &lhs, const RHS &rhs)
 
template<EigenMatrixLike LHS>
VariableMatrix< Scalaroperator* (const LHS &lhs, const Variable< Scalar > &rhs)
 
template<SleipnirMatrixLike< Scalar > LHS, ScalarLike RHS>
VariableMatrix< Scalaroperator* (const LHS &lhs, const RHS &rhs)
 
template<EigenMatrixLike RHS>
VariableMatrix< Scalaroperator* (const Variable< Scalar > &lhs, const RHS &rhs)
 
template<ScalarLike LHS, SleipnirMatrixLike< Scalar > RHS>
VariableMatrix< Scalaroperator* (const LHS &lhs, const RHS &rhs)
 
template<EigenMatrixLike LHS>
VariableMatrix< Scalaroperator/ (const LHS &lhs, const Variable< Scalar > &rhs)
 
template<SleipnirMatrixLike< Scalar > LHS, ScalarLike RHS>
requires (!SleipnirScalarLike<RHS, Scalar>)
VariableMatrix< Scalaroperator/ (const LHS &lhs, const RHS &rhs)
 
template<SleipnirMatrixLike< Scalar > LHS>
VariableMatrix< Scalaroperator/ (const LHS &lhs, const Variable< Scalar > &rhs)
 
template<EigenMatrixLike LHS, SleipnirMatrixLike< Scalar > RHS>
VariableMatrix< Scalaroperator+ (const LHS &lhs, const RHS &rhs)
 
template<SleipnirMatrixLike< Scalar > LHS, EigenMatrixLike RHS>
VariableMatrix< Scalaroperator+ (const LHS &lhs, const RHS &rhs)
 
template<SleipnirMatrixLike< Scalar > LHS, SleipnirMatrixLike< Scalar > RHS>
VariableMatrix< Scalaroperator+ (const LHS &lhs, const RHS &rhs)
 
template<EigenMatrixLike LHS, SleipnirMatrixLike< Scalar > RHS>
VariableMatrix< Scalaroperator- (const LHS &lhs, const RHS &rhs)
 
template<SleipnirMatrixLike< Scalar > LHS, EigenMatrixLike RHS>
VariableMatrix< Scalaroperator- (const LHS &lhs, const RHS &rhs)
 
template<SleipnirMatrixLike< Scalar > LHS, SleipnirMatrixLike< Scalar > RHS>
VariableMatrix< Scalaroperator- (const LHS &lhs, const RHS &rhs)
 
VariableMatrix< Scalaroperator- (const SleipnirMatrixLike< Scalar > auto &lhs)
 

Detailed Description

template<typename Scalar_>
class slp::VariableMatrix< Scalar_ >

A matrix of autodiff variables.

Template Parameters
Scalar_Scalar type.

Member Typedef Documentation

◆ Scalar

Scalar type alias.

Constructor & Destructor Documentation

◆ VariableMatrix() [1/15]

template<typename Scalar_ >
slp::VariableMatrix< Scalar_ >::VariableMatrix ( )
default

Constructs an empty VariableMatrix.

◆ VariableMatrix() [2/15]

template<typename Scalar_ >
slp::VariableMatrix< Scalar_ >::VariableMatrix ( int  rows)
inlineexplicit

Constructs a zero-initialized VariableMatrix column vector with the given rows.

Parameters
rowsThe number of matrix rows.

◆ VariableMatrix() [3/15]

template<typename Scalar_ >
slp::VariableMatrix< Scalar_ >::VariableMatrix ( int  rows,
int  cols 
)
inline

Constructs a zero-initialized VariableMatrix with the given dimensions.

Parameters
rowsThe number of matrix rows.
colsThe number of matrix columns.

◆ VariableMatrix() [4/15]

template<typename Scalar_ >
slp::VariableMatrix< Scalar_ >::VariableMatrix ( detail::empty_t  ,
int  rows,
int  cols 
)
inline

Constructs an empty VariableMatrix with the given dimensions.

Parameters
rowsThe number of matrix rows.
colsThe number of matrix columns.

◆ VariableMatrix() [5/15]

template<typename Scalar_ >
slp::VariableMatrix< Scalar_ >::VariableMatrix ( std::initializer_list< std::initializer_list< Variable< Scalar > > >  list)
inline

Constructs a scalar VariableMatrix from a nested list of Variables.

Parameters
listThe nested list of Variables.

◆ VariableMatrix() [6/15]

template<typename Scalar_ >
slp::VariableMatrix< Scalar_ >::VariableMatrix ( const std::vector< std::vector< Scalar > > &  list)
inline

Constructs a scalar VariableMatrix from a nested list of scalars.

This overload is for Python bindings only.

Parameters
listThe nested list of Variables.

◆ VariableMatrix() [7/15]

template<typename Scalar_ >
slp::VariableMatrix< Scalar_ >::VariableMatrix ( const std::vector< std::vector< Variable< Scalar > > > &  list)
inline

Constructs a scalar VariableMatrix from a nested list of Variables.

This overload is for Python bindings only.

Parameters
listThe nested list of Variables.

◆ VariableMatrix() [8/15]

template<typename Scalar_ >
template<typename Derived >
slp::VariableMatrix< Scalar_ >::VariableMatrix ( const Eigen::MatrixBase< Derived > &  values)
inline

Constructs a VariableMatrix from an Eigen matrix.

Parameters
valuesEigen matrix of values.

◆ VariableMatrix() [9/15]

template<typename Scalar_ >
template<typename Derived >
slp::VariableMatrix< Scalar_ >::VariableMatrix ( const Eigen::DiagonalBase< Derived > &  values)
inline

Constructs a VariableMatrix from an Eigen diagonal matrix.

Parameters
valuesDiagonal matrix of values.

◆ VariableMatrix() [10/15]

template<typename Scalar_ >
slp::VariableMatrix< Scalar_ >::VariableMatrix ( const Variable< Scalar > &  variable)
inline

Constructs a scalar VariableMatrix from a Variable.

Parameters
variableVariable.

◆ VariableMatrix() [11/15]

template<typename Scalar_ >
slp::VariableMatrix< Scalar_ >::VariableMatrix ( Variable< Scalar > &&  variable)
inline

Constructs a scalar VariableMatrix from a Variable.

Parameters
variableVariable.

◆ VariableMatrix() [12/15]

template<typename Scalar_ >
slp::VariableMatrix< Scalar_ >::VariableMatrix ( const VariableBlock< VariableMatrix< Scalar_ > > &  values)
inline

Constructs a VariableMatrix from a VariableBlock.

Parameters
valuesVariableBlock of values.

◆ VariableMatrix() [13/15]

template<typename Scalar_ >
slp::VariableMatrix< Scalar_ >::VariableMatrix ( const VariableBlock< const VariableMatrix< Scalar_ > > &  values)
inline

Constructs a VariableMatrix from a VariableBlock.

Parameters
valuesVariableBlock of values.

◆ VariableMatrix() [14/15]

template<typename Scalar_ >
slp::VariableMatrix< Scalar_ >::VariableMatrix ( std::span< const Variable< Scalar > >  values)
inlineexplicit

Constructs a column vector wrapper around a Variable array.

Parameters
valuesVariable array to wrap.

◆ VariableMatrix() [15/15]

template<typename Scalar_ >
slp::VariableMatrix< Scalar_ >::VariableMatrix ( std::span< const Variable< Scalar > >  values,
int  rows,
int  cols 
)
inline

Constructs a matrix wrapper around a Variable array.

Parameters
valuesVariable array to wrap.
rowsThe number of matrix rows.
colsThe number of matrix columns.

Member Function Documentation

◆ begin() [1/2]

template<typename Scalar_ >
iterator slp::VariableMatrix< Scalar_ >::begin ( )
inline

Returns begin iterator.

Returns
Begin iterator.

◆ begin() [2/2]

template<typename Scalar_ >
const_iterator slp::VariableMatrix< Scalar_ >::begin ( ) const
inline

Returns const begin iterator.

Returns
Const begin iterator.

◆ block() [1/2]

template<typename Scalar_ >
VariableBlock< VariableMatrix > slp::VariableMatrix< Scalar_ >::block ( int  row_offset,
int  col_offset,
int  block_rows,
int  block_cols 
)
inline

Returns a block of the variable matrix.

Parameters
row_offsetThe row offset of the block selection.
col_offsetThe column offset of the block selection.
block_rowsThe number of rows in the block selection.
block_colsThe number of columns in the block selection.
Returns
A block of the variable matrix.

◆ block() [2/2]

template<typename Scalar_ >
const VariableBlock< const VariableMatrix > slp::VariableMatrix< Scalar_ >::block ( int  row_offset,
int  col_offset,
int  block_rows,
int  block_cols 
) const
inline

Returns a block of the variable matrix.

Parameters
row_offsetThe row offset of the block selection.
col_offsetThe column offset of the block selection.
block_rowsThe number of rows in the block selection.
block_colsThe number of columns in the block selection.
Returns
A block of the variable matrix.

◆ cbegin()

template<typename Scalar_ >
const_iterator slp::VariableMatrix< Scalar_ >::cbegin ( ) const
inline

Returns const begin iterator.

Returns
Const begin iterator.

◆ cend()

template<typename Scalar_ >
const_iterator slp::VariableMatrix< Scalar_ >::cend ( ) const
inline

Returns const end iterator.

Returns
Const end iterator.

◆ col() [1/2]

Returns a column slice of the variable matrix.

Parameters
colThe column to slice.
Returns
A column slice of the variable matrix.

◆ col() [2/2]

template<typename Scalar_ >
const VariableBlock< const VariableMatrix > slp::VariableMatrix< Scalar_ >::col ( int  col) const
inline

Returns a column slice of the variable matrix.

Parameters
colThe column to slice.
Returns
A column slice of the variable matrix.

◆ cols()

template<typename Scalar_ >
int slp::VariableMatrix< Scalar_ >::cols ( ) const
inline

Returns the number of columns in the matrix.

Returns
The number of columns in the matrix.

◆ crbegin()

template<typename Scalar_ >
const_reverse_iterator slp::VariableMatrix< Scalar_ >::crbegin ( ) const
inline

Returns const reverse begin iterator.

Returns
Const reverse begin iterator.

◆ crend()

template<typename Scalar_ >
const_reverse_iterator slp::VariableMatrix< Scalar_ >::crend ( ) const
inline

Returns const reverse end iterator.

Returns
Const reverse end iterator.

◆ cwise_transform()

template<typename Scalar_ >
VariableMatrix< Scalar > slp::VariableMatrix< Scalar_ >::cwise_transform ( function_ref< Variable< Scalar >(const Variable< Scalar > &x)>  unary_op) const
inline

Transforms the matrix coefficient-wise with an unary operator.

Parameters
unary_opThe unary operator to use for the transform operation.
Returns
Result of the unary operator.

◆ end() [1/2]

template<typename Scalar_ >
iterator slp::VariableMatrix< Scalar_ >::end ( )
inline

Returns end iterator.

Returns
End iterator.

◆ end() [2/2]

template<typename Scalar_ >
const_iterator slp::VariableMatrix< Scalar_ >::end ( ) const
inline

Returns const end iterator.

Returns
Const end iterator.

◆ ones()

template<typename Scalar_ >
static VariableMatrix< Scalar > slp::VariableMatrix< Scalar_ >::ones ( int  rows,
int  cols 
)
inlinestatic

Returns a variable matrix filled with ones.

Parameters
rowsThe number of matrix rows.
colsThe number of matrix columns.
Returns
A variable matrix filled with ones.

◆ operator Variable< Scalar >()

template<typename Scalar_ >
slp::VariableMatrix< Scalar_ >::operator Variable< Scalar > ( ) const
inline

Implicit conversion operator from 1x1 VariableMatrix to Variable.

◆ operator*=() [1/2]

template<typename Scalar_ >
VariableMatrix & slp::VariableMatrix< Scalar_ >::operator*= ( const MatrixLike auto rhs)
inline

Compound matrix multiplication-assignment operator.

Parameters
rhsVariable to multiply.
Returns
Result of multiplication.

◆ operator*=() [2/2]

template<typename Scalar_ >
VariableMatrix & slp::VariableMatrix< Scalar_ >::operator*= ( const ScalarLike auto rhs)
inline

Compound matrix-scalar multiplication-assignment operator.

Parameters
rhsVariable to multiply.
Returns
Result of multiplication.

◆ operator+=() [1/2]

template<typename Scalar_ >
VariableMatrix & slp::VariableMatrix< Scalar_ >::operator+= ( const MatrixLike auto rhs)
inline

Compound addition-assignment operator.

Parameters
rhsVariable to add.
Returns
Result of addition.

◆ operator+=() [2/2]

template<typename Scalar_ >
VariableMatrix & slp::VariableMatrix< Scalar_ >::operator+= ( const ScalarLike auto rhs)
inline

Compound addition-assignment operator.

Parameters
rhsVariable to add.
Returns
Result of addition.

◆ operator-=() [1/2]

template<typename Scalar_ >
VariableMatrix & slp::VariableMatrix< Scalar_ >::operator-= ( const MatrixLike auto rhs)
inline

Compound subtraction-assignment operator.

Parameters
rhsVariable to subtract.
Returns
Result of subtraction.

◆ operator-=() [2/2]

template<typename Scalar_ >
VariableMatrix & slp::VariableMatrix< Scalar_ >::operator-= ( const ScalarLike auto rhs)
inline

Compound subtraction-assignment operator.

Parameters
rhsVariable to subtract.
Returns
Result of subtraction.

◆ operator/=()

template<typename Scalar_ >
VariableMatrix & slp::VariableMatrix< Scalar_ >::operator/= ( const ScalarLike auto rhs)
inline

Compound matrix division-assignment operator.

Parameters
rhsVariable to divide.
Returns
Result of division.

◆ operator=() [1/2]

template<typename Scalar_ >
template<typename Derived >
VariableMatrix & slp::VariableMatrix< Scalar_ >::operator= ( const Eigen::MatrixBase< Derived > &  values)
inline

Assigns an Eigen matrix to a VariableMatrix.

Parameters
valuesEigen matrix of values.
Returns
This VariableMatrix.

◆ operator=() [2/2]

template<typename Scalar_ >
VariableMatrix & slp::VariableMatrix< Scalar_ >::operator= ( ScalarLike auto  value)
inline

Assigns a scalar to the matrix.

This only works for matrices with one row and one column.

Parameters
valueValue to assign.
Returns
This VariableMatrix.

◆ operator[]() [1/8]

template<typename Scalar_ >
Variable< Scalar > & slp::VariableMatrix< Scalar_ >::operator[] ( int  index)
inline

Returns the element at the given index.

Parameters
indexThe index.
Returns
The element at the given index.

◆ operator[]() [2/8]

template<typename Scalar_ >
const Variable< Scalar > & slp::VariableMatrix< Scalar_ >::operator[] ( int  index) const
inline

Returns the element at the given index.

Parameters
indexThe index.
Returns
The element at the given index.

◆ operator[]() [3/8]

template<typename Scalar_ >
Variable< Scalar > & slp::VariableMatrix< Scalar_ >::operator[] ( int  row,
int  col 
)
inline

Returns the element at the given row and column.

Parameters
rowThe row.
colThe column.
Returns
The element at the given row and column.

◆ operator[]() [4/8]

template<typename Scalar_ >
const Variable< Scalar > & slp::VariableMatrix< Scalar_ >::operator[] ( int  row,
int  col 
) const
inline

Returns the element at the given row and column.

Parameters
rowThe row.
colThe column.
Returns
The element at the given row and column.

◆ operator[]() [5/8]

template<typename Scalar_ >
VariableBlock< VariableMatrix > slp::VariableMatrix< Scalar_ >::operator[] ( Slice  row_slice,
int  row_slice_length,
Slice  col_slice,
int  col_slice_length 
)
inline

Returns a slice of the variable matrix.

The given slices aren't adjusted. This overload is for Python bindings only.

Parameters
row_sliceThe row slice.
row_slice_lengthThe row slice length.
col_sliceThe column slice.
col_slice_lengthThe column slice length.
Returns
A slice of the variable matrix.

◆ operator[]() [6/8]

template<typename Scalar_ >
const VariableBlock< const VariableMatrix > slp::VariableMatrix< Scalar_ >::operator[] ( Slice  row_slice,
int  row_slice_length,
Slice  col_slice,
int  col_slice_length 
) const
inline

Returns a slice of the variable matrix.

The given slices aren't adjusted. This overload is for Python bindings only.

Parameters
row_sliceThe row slice.
row_slice_lengthThe row slice length.
col_sliceThe column slice.
col_slice_lengthThe column slice length.
Returns
A slice of the variable matrix.

◆ operator[]() [7/8]

template<typename Scalar_ >
VariableBlock< VariableMatrix > slp::VariableMatrix< Scalar_ >::operator[] ( Slice  row_slice,
Slice  col_slice 
)
inline

Returns a slice of the variable matrix.

Parameters
row_sliceThe row slice.
col_sliceThe column slice.
Returns
A slice of the variable matrix.

◆ operator[]() [8/8]

template<typename Scalar_ >
const VariableBlock< const VariableMatrix > slp::VariableMatrix< Scalar_ >::operator[] ( Slice  row_slice,
Slice  col_slice 
) const
inline

Returns a slice of the variable matrix.

Parameters
row_sliceThe row slice.
col_sliceThe column slice.
Returns
A slice of the variable matrix.

◆ rbegin() [1/2]

template<typename Scalar_ >
reverse_iterator slp::VariableMatrix< Scalar_ >::rbegin ( )
inline

Returns reverse begin iterator.

Returns
Reverse begin iterator.

◆ rbegin() [2/2]

template<typename Scalar_ >
const_reverse_iterator slp::VariableMatrix< Scalar_ >::rbegin ( ) const
inline

Returns const reverse begin iterator.

Returns
Const reverse begin iterator.

◆ rend() [1/2]

Returns reverse end iterator.

Returns
Reverse end iterator.

◆ rend() [2/2]

template<typename Scalar_ >
const_reverse_iterator slp::VariableMatrix< Scalar_ >::rend ( ) const
inline

Returns const reverse end iterator.

Returns
Const reverse end iterator.

◆ row() [1/2]

Returns a row slice of the variable matrix.

Parameters
rowThe row to slice.
Returns
A row slice of the variable matrix.

◆ row() [2/2]

template<typename Scalar_ >
const VariableBlock< const VariableMatrix > slp::VariableMatrix< Scalar_ >::row ( int  row) const
inline

Returns a row slice of the variable matrix.

Parameters
rowThe row to slice.
Returns
A row slice of the variable matrix.

◆ rows()

template<typename Scalar_ >
int slp::VariableMatrix< Scalar_ >::rows ( ) const
inline

Returns the number of rows in the matrix.

Returns
The number of rows in the matrix.

◆ segment() [1/2]

template<typename Scalar_ >
VariableBlock< VariableMatrix > slp::VariableMatrix< Scalar_ >::segment ( int  offset,
int  length 
)
inline

Returns a segment of the variable vector.

Parameters
offsetThe offset of the segment.
lengthThe length of the segment.
Returns
A segment of the variable vector.

◆ segment() [2/2]

template<typename Scalar_ >
const VariableBlock< const VariableMatrix > slp::VariableMatrix< Scalar_ >::segment ( int  offset,
int  length 
) const
inline

Returns a segment of the variable vector.

Parameters
offsetThe offset of the segment.
lengthThe length of the segment.
Returns
A segment of the variable vector.

◆ set_value()

template<typename Scalar_ >
template<typename Derived >
requires std::same_as<typename Derived::Scalar, Scalar>
void slp::VariableMatrix< Scalar_ >::set_value ( const Eigen::MatrixBase< Derived > &  values)
inline

Sets the VariableMatrix's internal values.

Parameters
valuesEigen matrix of values.

◆ size()

template<typename Scalar_ >
size_t slp::VariableMatrix< Scalar_ >::size ( ) const
inline

Returns number of elements in matrix.

Returns
Number of elements in matrix.

◆ T()

template<typename Scalar_ >
VariableMatrix< Scalar > slp::VariableMatrix< Scalar_ >::T ( ) const
inline

Returns the transpose of the variable matrix.

Returns
The transpose of the variable matrix.

◆ value() [1/3]

template<typename Scalar_ >
Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > slp::VariableMatrix< Scalar_ >::value ( )
inline

Returns the contents of the variable matrix.

Returns
The contents of the variable matrix.

◆ value() [2/3]

template<typename Scalar_ >
Scalar slp::VariableMatrix< Scalar_ >::value ( int  index)
inline

Returns an element of the variable matrix.

Parameters
indexThe index of the element to return.
Returns
An element of the variable matrix.

◆ value() [3/3]

template<typename Scalar_ >
Scalar slp::VariableMatrix< Scalar_ >::value ( int  row,
int  col 
)
inline

Returns an element of the variable matrix.

Parameters
rowThe row of the element to return.
colThe column of the element to return.
Returns
An element of the variable matrix.

◆ zero()

template<typename Scalar_ >
static VariableMatrix< Scalar > slp::VariableMatrix< Scalar_ >::zero ( int  rows,
int  cols 
)
inlinestatic

Returns a variable matrix filled with zeroes.

Parameters
rowsThe number of matrix rows.
colsThe number of matrix columns.
Returns
A variable matrix filled with zeroes.

Friends And Related Symbol Documentation

◆ operator* [1/7]

template<typename Scalar_ >
template<EigenMatrixLike LHS, SleipnirMatrixLike< Scalar > RHS>
VariableMatrix< Scalar > operator* ( const LHS lhs,
const RHS rhs 
)
friend

Matrix multiplication operator.

Parameters
lhsOperator left-hand side.
rhsOperator right-hand side.

◆ operator* [2/7]

template<typename Scalar_ >
template<SleipnirMatrixLike< Scalar > LHS, EigenMatrixLike RHS>
VariableMatrix< Scalar > operator* ( const LHS lhs,
const RHS rhs 
)
friend

Matrix multiplication operator.

Parameters
lhsOperator left-hand side.
rhsOperator right-hand side.

◆ operator* [3/7]

template<typename Scalar_ >
template<SleipnirMatrixLike< Scalar > LHS, SleipnirMatrixLike< Scalar > RHS>
VariableMatrix< Scalar > operator* ( const LHS lhs,
const RHS rhs 
)
friend

Matrix multiplication operator.

Parameters
lhsOperator left-hand side.
rhsOperator right-hand side.

◆ operator* [4/7]

template<typename Scalar_ >
template<SleipnirMatrixLike< Scalar > LHS, ScalarLike RHS>
VariableMatrix< Scalar > operator* ( const LHS lhs,
const RHS rhs 
)
friend

Matrix-scalar multiplication operator.

Parameters
lhsOperator left-hand side.
rhsOperator right-hand side.

◆ operator* [5/7]

template<typename Scalar_ >
template<ScalarLike LHS, SleipnirMatrixLike< Scalar > RHS>
VariableMatrix< Scalar > operator* ( const LHS lhs,
const RHS rhs 
)
friend

Scalar-matrix multiplication operator.

Parameters
lhsOperator left-hand side.
rhsOperator right-hand side.

◆ operator* [6/7]

template<typename Scalar_ >
template<EigenMatrixLike LHS>
VariableMatrix< Scalar > operator* ( const LHS lhs,
const Variable< Scalar > &  rhs 
)
friend

Matrix-scalar multiplication operator.

Parameters
lhsOperator left-hand side.
rhsOperator right-hand side.

◆ operator* [7/7]

template<typename Scalar_ >
template<EigenMatrixLike RHS>
VariableMatrix< Scalar > operator* ( const Variable< Scalar > &  lhs,
const RHS rhs 
)
friend

Scalar-matrix multiplication operator.

Parameters
lhsOperator left-hand side.
rhsOperator right-hand side.

◆ operator+ [1/3]

template<typename Scalar_ >
template<EigenMatrixLike LHS, SleipnirMatrixLike< Scalar > RHS>
VariableMatrix< Scalar > operator+ ( const LHS lhs,
const RHS rhs 
)
friend

Binary addition operator.

Parameters
lhsOperator left-hand side.
rhsOperator right-hand side.
Returns
Result of addition.

◆ operator+ [2/3]

template<typename Scalar_ >
template<SleipnirMatrixLike< Scalar > LHS, EigenMatrixLike RHS>
VariableMatrix< Scalar > operator+ ( const LHS lhs,
const RHS rhs 
)
friend

Binary addition operator.

Parameters
lhsOperator left-hand side.
rhsOperator right-hand side.
Returns
Result of addition.

◆ operator+ [3/3]

template<typename Scalar_ >
template<SleipnirMatrixLike< Scalar > LHS, SleipnirMatrixLike< Scalar > RHS>
VariableMatrix< Scalar > operator+ ( const LHS lhs,
const RHS rhs 
)
friend

Binary addition operator.

Parameters
lhsOperator left-hand side.
rhsOperator right-hand side.
Returns
Result of addition.

◆ operator- [1/4]

template<typename Scalar_ >
template<EigenMatrixLike LHS, SleipnirMatrixLike< Scalar > RHS>
VariableMatrix< Scalar > operator- ( const LHS lhs,
const RHS rhs 
)
friend

Binary subtraction operator.

Parameters
lhsOperator left-hand side.
rhsOperator right-hand side.
Returns
Result of subtraction.

◆ operator- [2/4]

template<typename Scalar_ >
template<SleipnirMatrixLike< Scalar > LHS, EigenMatrixLike RHS>
VariableMatrix< Scalar > operator- ( const LHS lhs,
const RHS rhs 
)
friend

Binary subtraction operator.

Parameters
lhsOperator left-hand side.
rhsOperator right-hand side.
Returns
Result of subtraction.

◆ operator- [3/4]

template<typename Scalar_ >
template<SleipnirMatrixLike< Scalar > LHS, SleipnirMatrixLike< Scalar > RHS>
VariableMatrix< Scalar > operator- ( const LHS lhs,
const RHS rhs 
)
friend

Binary subtraction operator.

Parameters
lhsOperator left-hand side.
rhsOperator right-hand side.
Returns
Result of subtraction.

◆ operator- [4/4]

template<typename Scalar_ >
VariableMatrix< Scalar > operator- ( const SleipnirMatrixLike< Scalar > auto lhs)
friend

Unary minus operator.

Parameters
lhsOperand for unary minus.

◆ operator/ [1/3]

template<typename Scalar_ >
template<SleipnirMatrixLike< Scalar > LHS, ScalarLike RHS>
requires (!SleipnirScalarLike<RHS, Scalar>)
VariableMatrix< Scalar > operator/ ( const LHS lhs,
const RHS rhs 
)
friend

Binary division operator.

Parameters
lhsOperator left-hand side.
rhsOperator right-hand side.
Returns
Result of division.

◆ operator/ [2/3]

template<typename Scalar_ >
template<EigenMatrixLike LHS>
VariableMatrix< Scalar > operator/ ( const LHS lhs,
const Variable< Scalar > &  rhs 
)
friend

Binary division operator.

Parameters
lhsOperator left-hand side.
rhsOperator right-hand side.
Returns
Result of division.

◆ operator/ [3/3]

template<typename Scalar_ >
template<SleipnirMatrixLike< Scalar > LHS>
VariableMatrix< Scalar > operator/ ( const LHS lhs,
const Variable< Scalar > &  rhs 
)
friend

Binary division operator.

Parameters
lhsOperator left-hand side.
rhsOperator right-hand side.
Returns
Result of division.

The documentation for this class was generated from the following file: