lucid  0.0.1
Lifting-based Uncertain Control Invariant Dynamics
Loading...
Searching...
No Matches
lucid::InverseGramMatrix Class Reference

The inverse of a Gram matrix, \( K^{-1} \), allowing transparent multiplication with vectors and matrices. More...

#include <InverseGramMatrix.h>

Public Member Functions

 InverseGramMatrix (const GramMatrix &gram_matrix)
 Construct an inverse Gram matrix from a Gram matrix.
 
const GramMatrixgram_matrix () const
 Get read-only access to the underlying Gram matrix of the inverse Gram matrix.
 
template<class Derived>
Matrix operator* (const MatrixBase< Derived > &A) const
 Multiply the inverse of the Gram matrix with another matrix, \( K^{-1}A \).
 

Private Attributes

const GramMatrixgram_matrix_
 Gram matrix to use for the inversion.
 

Detailed Description

The inverse of a Gram matrix, \( K^{-1} \), allowing transparent multiplication with vectors and matrices.

Note that only right multiplication is supported. The implementation is just a thin wrapper around GramMatrix::inverse_mult. No data is copied, making this class valid only as long as it maintains a valid reference to the Gram matrix.

Vector x;
Vector result = gram_matrix.inverse() * x;
Gram Matrix obtained from a kernel function.
Definition GramMatrix.h:35
const GramMatrix & gram_matrix() const
Get read-only access to the underlying Gram matrix of the inverse Gram matrix.
Definition InverseGramMatrix.h:40

Constructor & Destructor Documentation

◆ InverseGramMatrix()

lucid::InverseGramMatrix::InverseGramMatrix ( const GramMatrix & gram_matrix)
inlineexplicit

Construct an inverse Gram matrix from a Gram matrix.

Parameters
gram_matrixGram matrix to use for the inversion.

Member Function Documentation

◆ gram_matrix()

const GramMatrix & lucid::InverseGramMatrix::gram_matrix ( ) const
inlinenodiscard

Get read-only access to the underlying Gram matrix of the inverse Gram matrix.

Returns
underlying Gram matrix of the inverse Gram matrix

◆ operator*()

template<class Derived>
Matrix lucid::InverseGramMatrix::operator* ( const MatrixBase< Derived > & A) const

Multiply the inverse of the Gram matrix with another matrix, \( K^{-1}A \).

Parameters
Amatrix to multiply with the inverse of the Gram matrix
Returns
result of the multiplication

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