35#ifndef _BLAZE_MATH_EXPRESSIONS_MATINVEXPR_H_
36#define _BLAZE_MATH_EXPRESSIONS_MATINVEXPR_H_
69template<
typename MT >
105 return solve( (*mat).operand(), *vec );
128 operator*(
const DenseVector<VT,true>& vec,
const MatInvExpr<MT>& mat )
132 return solve(
trans( (*mat).operand() ), *vec );
152template<
typename MT1
155 , DisableIf_t< IsMatScalarMultExpr_v<MT2> >* =
nullptr >
157 operator*(
const MatInvExpr<MT1>& lhs,
const DenseMatrix<MT2,SO>& rhs )
161 return solve( (*lhs).operand(), *rhs );
181template<
typename MT1
184 , DisableIf_t< IsMatScalarMultExpr_v<MT1> >* =
nullptr >
186 operator*(
const DenseMatrix<MT1,SO>& lhs,
const MatInvExpr<MT2>& rhs )
216template<
typename MT >
217inline decltype(
auto)
inv(
const MatInvExpr<MT>& matrix )
221 return matrix.operand();
244template<
typename MT >
245inline decltype(
auto)
det(
const MatInvExpr<MT>& matrix )
249 return inv(
det( (*matrix).operand() ) );
Header file for the function trace functionality.
Header file for the invert shim.
Header file for the IsMatScalarMultExpr type trait class.
Base class for N-dimensional dense vectors.
Definition: DenseVector.h:77
Header file for the Expression base class.
decltype(auto) trans(const DenseMatrix< MT, SO > &dm)
Calculation of the transpose of the given dense matrix.
Definition: DMatTransExpr.h:766
void solve(const DenseMatrix< MT, SO > &A, DenseVector< VT1, TF1 > &x, const DenseVector< VT2, TF2 > &b)
Solving the given linear system of equations ( ).
Definition: LSE.h:6343
ElementType_t< MT > det(const DenseMatrix< MT, SO > &dm)
Computation of the determinant of the given dense square matrix.
Definition: DMatDetExpr.h:384
decltype(auto) inv(const DenseMatrix< MT, SO > &dm)
Calculation of the inverse of the given dense matrix.
Definition: DMatInvExpr.h:405
#define BLAZE_FUNCTION_TRACE
Function trace macro.
Definition: FunctionTrace.h:94
Header file for all forward declarations for expression class templates.
Base class for all expression templates.
Definition: Expression.h:60
Base class for all matrix inversion expression templates.
Definition: MatInvExpr.h:72