SoftSUSY is hosted by Hepforge, IPPP Durham
SOFTSUSY  4.0
xpr-matrix.h File Reference

Symbolic object for matrices for speed upgrade. More...

#include "xpr-base.h"
#include "mycomplex.h"

Go to the source code of this file.

Functions

template<typename T , typename A , typename B >
MatXpr< T, MatXprBinOp< T, MatConstRef< T, MatIndexable< T, A > >, MatConstRef< T, MatIndexable< T, B > >, OpAdd< T > > > operator+ (const MatIndexable< T, A > &a, const MatIndexable< T, B > &b)
 add two xpr matrices
 
template<typename T , typename A , typename B >
MatXpr< T, MatXprBinOp< T, MatConstRef< T, MatXpr< T, A > >, MatConstRef< T, MatIndexable< T, B > >, OpAdd< T > > > operator+ (const MatXpr< T, A > &a, const MatIndexable< T, B > &b)
 add two xpr matrices
 
template<typename T , typename A , typename B >
MatXpr< T, MatXprBinOp< T, MatConstRef< T, MatIndexable< T, A > >, MatConstRef< T, MatXpr< T, B > >, OpAdd< T > > > operator+ (const MatIndexable< T, A > &a, const MatXpr< T, B > &b)
 add two xpr matrices
 
template<typename T , typename A , typename B >
MatXpr< T, MatXprBinOp< T, MatConstRef< T, MatXpr< T, A > >, MatConstRef< T, MatXpr< T, B > >, OpAdd< T > > > operator+ (const MatXpr< T, A > &a, const MatXpr< T, B > &b)
 add two xpr matrices
 
template<typename T , typename B >
MatXpr< T, MatXprScalDiagOp1< T, MatConstRef< T, MatIndexable< T, B > >, OpAdd< T > > > operator+ (T a, const MatIndexable< T, B > &b)
 scalar + matrix
 
template<typename T , typename B >
MatXpr< T, MatXprScalDiagOp2< T, MatConstRef< T, MatIndexable< T, B > >, OpAdd< T > > > operator+ (const MatIndexable< T, B > &b, T a)
 scalar + matrix
 
template<typename T , typename B >
MatXpr< T, MatXprScalDiagOp1< T, MatConstRef< T, MatXpr< T, B > >, OpAdd< T > > > operator+ (T a, const MatXpr< T, B > &b)
 scalar + matrix
 
template<typename T , typename B >
MatXpr< T, MatXprScalDiagOp2< T, MatConstRef< T, MatXpr< T, B > >, OpAdd< T > > > operator+ (const MatXpr< T, B > &b, T a)
 scalar + matrix
 
template<typename T , typename A , typename B >
MatXpr< T, MatXprBinOp< T, MatConstRef< T, MatIndexable< T, A > >, MatConstRef< T, MatIndexable< T, B > >, OpSubtract< T > > > operator- (const MatIndexable< T, A > &a, const MatIndexable< T, B > &b)
 xpr matrix subtraction
 
template<typename T , typename A , typename B >
MatXpr< T, MatXprBinOp< T, MatConstRef< T, MatXpr< T, A > >, MatConstRef< T, MatIndexable< T, B > >, OpSubtract< T > > > operator- (const MatXpr< T, A > &a, const MatIndexable< T, B > &b)
 xpr matrix subtraction
 
template<typename T , typename A , typename B >
MatXpr< T, MatXprBinOp< T, MatConstRef< T, MatIndexable< T, A > >, MatConstRef< T, MatXpr< T, B > >, OpSubtract< T > > > operator- (const MatIndexable< T, A > &a, const MatXpr< T, B > &b)
 xpr matrix subtraction
 
template<typename T , typename A , typename B >
MatXpr< T, MatXprBinOp< T, MatConstRef< T, MatXpr< T, A > >, MatConstRef< T, MatXpr< T, B > >, OpSubtract< T > > > operator- (const MatXpr< T, A > &a, const MatXpr< T, B > &b)
 xpr matrix subtraction
 
template<typename T , typename A , typename B >
MatXpr< T, MatXprOuterOp< T, ConstRef< T, Xpr< T, A > >, ConstRef< T, Xpr< T, B > >, OpMultiply< T > > > outerProduct (const Xpr< T, A > &a, const Xpr< T, B > &b)
 outer product of xpr matrices
 
template<typename T , typename A , typename B >
MatXpr< T, MatXprOuterOp< T, ConstRef< T, Indexable< T, A > >, ConstRef< T, Xpr< T, B > >, OpMultiply< T > > > outerProduct (const Indexable< T, A > &a, const Xpr< T, B > &b)
 outer product of xpr matrices
 
template<typename T , typename A , typename B >
MatXpr< T, MatXprOuterOp< T, ConstRef< T, Xpr< T, A > >, ConstRef< T, Indexable< T, B > >, OpMultiply< T > > > outerProduct (const Xpr< T, A > &a, const Indexable< T, B > &b)
 outer product of xpr matrices
 
template<typename T , typename A , typename B >
MatXpr< T, MatXprOuterOp< T, ConstRef< T, Indexable< T, A > >, ConstRef< T, Indexable< T, B > >, OpMultiply< T > > > outerProduct (const Indexable< T, A > &a, const Indexable< T, B > &b)
 outer product of xpr matrices
 
template<typename T , typename A >
MatXpr< T, MatXprUnaryOp< T, MatConstRef< T, MatXpr< T, A > >, OpNegate< T > > > operator- (const MatXpr< T, A > &a)
 negative of xpr matrices
 
template<typename T , typename A >
MatXpr< T, MatXprUnaryOp< T, MatConstRef< T, MatIndexable< T, A > >, OpNegate< T > > > operator- (const MatIndexable< T, A > &a)
 negative of xpr matrices
 
template<typename T , typename B >
MatXpr< T, MatXprScalDiagOp1< T, MatConstRef< T, MatIndexable< T, B > >, OpSubtract< T > > > operator- (T a, const MatIndexable< T, B > &b)
 xpr matrices - some number
 
template<typename T , typename B >
MatXpr< T, MatXprScalDiagOp2< T, MatConstRef< T, MatIndexable< T, B > >, OpSubtract< T > > > operator- (const MatIndexable< T, B > &b, T a)
 xpr matrices - some number
 
template<typename T , typename B >
MatXpr< T, MatXprScalDiagOp1< T, MatConstRef< T, MatXpr< T, B > >, OpSubtract< T > > > operator- (T a, const MatXpr< T, B > &b)
 xpr matrices - some number
 
template<typename T , typename B >
MatXpr< T, MatXprScalDiagOp2< T, MatConstRef< T, MatXpr< T, B > >, OpSubtract< T > > > operator- (const MatXpr< T, B > &b, T a)
 xpr matrices - some number
 
template<typename T , typename B >
MatXpr< T, MatXprScalOp< T, MatConstRef< T, MatIndexable< T, B > >, OpMultiply< T > > > operator* (T a, const MatIndexable< T, B > &b)
 multiply xpr matrix by a scalar
 
template<typename T , typename B >
MatXpr< T, MatXprScalOp< T, MatConstRef< T, MatIndexable< T, B > >, OpMultiply< T > > > operator* (int a, const MatIndexable< T, B > &b)
 multiply xpr matrix by a scalar
 
template<typename B >
MatXpr< Complex, MatXprScalOp< Complex, MatConstRef< Complex, MatIndexable< Complex, B > >, OpMultiply< Complex > > > operator* (double a, const MatIndexable< Complex, B > &b)
 multiply xpr complex matrix by a scalar
 
template<typename B >
MatXpr< Complex, MatXprScalOp< Complex, MatConstRef< Complex, MatXpr< Complex, B > >, OpMultiply< Complex > > > operator* (double a, const MatXpr< Complex, B > &b)
 multiply xpr matrix by a scalar
 
template<typename B >
MatXpr< Complex, MatXprScalOp< Complex, MatConstRef< Complex, MatIndexable< Complex, B > >, OpMultiply< Complex > > > operator* (const MatIndexable< Complex, B > &b, double a)
 multiply xpr matrix by a scalar
 
template<typename B >
MatXpr< Complex, MatXprScalOp< Complex, MatConstRef< Complex, MatXpr< Complex, B > >, OpMultiply< Complex > > > operator* (const MatXpr< Complex, B > &b, double a)
 multiply xpr complex matrix by a scalar
 
template<typename T , typename B >
MatXpr< T, MatXprScalOp< T, MatConstRef< T, MatIndexable< T, B > >, OpMultiply< T > > > operator* (const MatIndexable< T, B > &b, T a)
 multiply xpr matrix by scalar
 
template<typename T , typename B >
MatXpr< T, MatXprScalOp< T, MatConstRef< T, MatIndexable< T, B > >, OpMultiply< T > > > operator* (const MatIndexable< T, B > &b, int a)
 multiply xpr matrix by scalar
 
template<typename T , typename B >
MatXpr< T, MatXprScalOp< T, MatConstRef< T, MatXpr< T, B > >, OpMultiply< T > > > operator* (T a, const MatXpr< T, B > &b)
 multiply xpr matrix by scalar
 
template<typename T , typename B >
MatXpr< T, MatXprScalOp< T, MatConstRef< T, MatXpr< T, B > >, OpMultiply< T > > > operator* (int a, const MatXpr< T, B > &b)
 multiply xpr matrix by scalar
 
template<typename T , typename B >
MatXpr< T, MatXprScalOp< T, MatConstRef< T, MatXpr< T, B > >, OpMultiply< T > > > operator* (const MatXpr< T, B > &b, T a)
 multiply xpr matrix by scalar
 
template<typename T , typename B >
MatXpr< T, MatXprScalOp< T, MatConstRef< T, MatXpr< T, B > >, OpMultiply< T > > > operator* (const MatXpr< T, B > &b, int a)
 multiply xpr matrix by scalar
 
template<typename T , typename B >
MatXpr< T, MatXprScalOp< T, MatConstRef< T, MatIndexable< T, B > >, OpMultiply< T > > > operator/ (const MatIndexable< T, B > &b, T a)
 divide xpr matrix by scalar
 
template<typename T , typename B >
MatXpr< T, MatXprScalOp< T, MatConstRef< T, MatXpr< T, B > >, OpMultiply< T > > > operator/ (const MatXpr< T, B > &b, T a)
 divide xpr matrix by scalar
 
template<typename T , typename A , typename B >
MatXpr< T, MatXprMatMultOp< T, MatConstRef< T, MatIndexable< T, A > >, MatConstRef< T, MatIndexable< T, B > > > > operator* (const MatIndexable< T, A > &a, const MatIndexable< T, B > &b)
 xpr matrix multiplication
 
template<typename T , typename A , typename B >
MatXpr< T, MatXprMatMultOp< T, MatConstRef< T, MatXpr< T, A > >, MatConstRef< T, MatIndexable< T, B > > > > operator* (const MatXpr< T, A > &a, const MatIndexable< T, B > &b)
 xpr matrix multiplication
 
template<typename T , typename A , typename B >
MatXpr< T, MatXprMatMultOp< T, MatConstRef< T, MatIndexable< T, A > >, MatConstRef< T, MatXpr< T, B > > > > operator* (const MatIndexable< T, A > &a, const MatXpr< T, B > &b)
 xpr matrix multiplication
 
template<typename T , typename A , typename B >
MatXpr< T, MatXprMatMultOp< T, MatConstRef< T, MatXpr< T, A > >, MatConstRef< T, MatXpr< T, B > > > > operator* (const MatXpr< T, A > &a, const MatXpr< T, B > &b)
 xpr matrix multiplication
 
template<typename A , typename B >
MatXpr< Complex, MatXprMatMultOp< Complex, MatConstRef< Complex, MatIndexable< Complex, A > >, MatConstRef< double, MatIndexable< double, B > > > > operator* (const MatIndexable< Complex, A > &a, const MatIndexable< double, B > &b)
 xpr matrix multiplication specialisation
 
template<typename A , typename B >
MatXpr< Complex, MatXprMatMultOp< Complex, MatConstRef< Complex, MatXpr< Complex, A > >, MatConstRef< double, MatIndexable< double, B > > > > operator* (const MatXpr< Complex, A > &a, const MatIndexable< double, B > &b)
 xpr matrix multiplication specialisation
 
template<typename A , typename B >
MatXpr< Complex, MatXprMatMultOp< Complex, MatConstRef< Complex, MatIndexable< Complex, A > >, MatConstRef< double, MatXpr< double, B > > > > operator* (const MatIndexable< Complex, A > &a, const MatXpr< double, B > &b)
 xpr matrix multiplication specialisation
 
template<typename A , typename B >
MatXpr< Complex, MatXprMatMultOp< Complex, MatConstRef< Complex, MatXpr< Complex, A > >, MatConstRef< double, MatXpr< double, B > > > > operator* (const MatXpr< Complex, A > &a, const MatXpr< double, B > &b)
 xpr matrix multiplication specialisation
 
template<typename A , typename B >
MatXpr< Complex, MatXprMatMultOp< Complex, MatConstRef< double, MatIndexable< double, A > >, MatConstRef< Complex, MatIndexable< Complex, B > > > > operator* (const MatIndexable< double, A > &a, const MatIndexable< Complex, B > &b)
 xpr matrix multiplication specialisation
 
template<typename A , typename B >
MatXpr< Complex, MatXprMatMultOp< Complex, MatConstRef< double, MatXpr< double, A > >, MatConstRef< Complex, MatIndexable< Complex, B > > > > operator* (const MatXpr< double, A > &a, const MatIndexable< Complex, B > &b)
 xpr matrix multiplication specialisation
 
template<typename A , typename B >
MatXpr< Complex, MatXprMatMultOp< Complex, MatConstRef< double, MatIndexable< double, A > >, MatConstRef< Complex, MatXpr< Complex, B > > > > operator* (const MatIndexable< double, A > &a, const MatXpr< Complex, B > &b)
 xpr matrix multiplication specialisation
 
template<typename A , typename B >
MatXpr< Complex, MatXprMatMultOp< Complex, MatConstRef< double, MatXpr< double, A > >, MatConstRef< Complex, MatXpr< Complex, B > > > > operator* (const MatXpr< double, A > &a, const MatXpr< Complex, B > &b)
 xpr matrix multiplication specialisation
 
template<typename T , typename A , typename B >
Xpr< T, XprMatMultOp< T, MatConstRef< T, MatIndexable< T, A > >, ConstRef< T, Indexable< T, B > > > > operator* (const MatIndexable< T, A > &a, const Indexable< T, B > &b)
 xpr matrix multiplication by vector
 
template<typename A , typename B >
Xpr< Complex, XprMatMultOp< Complex, MatConstRef< Complex, MatIndexable< Complex, A > >, ConstRef< double, Indexable< double, B > > > > operator* (const MatIndexable< Complex, A > &a, const Indexable< double, B > &b)
 xpr matrix multiplication by vector specialization
 
template<typename A , typename B >
Xpr< Complex, XprMatMultOp< Complex, MatConstRef< double, MatIndexable< double, A > >, ConstRef< Complex, Indexable< Complex, B > > > > operator* (const MatIndexable< double, A > &a, const Indexable< Complex, B > &b)
 xpr matrix multiplication by vector specialization
 

Detailed Description

Symbolic object for matrices for speed upgrade.