Nektar++
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Namespaces | Functions
MatrixOperationsDeclarations.hpp File Reference
#include <LibUtilities/LinearAlgebra/StandardMatrix.hpp>
#include <LibUtilities/LinearAlgebra/BlockMatrix.hpp>
#include <LibUtilities/LinearAlgebra/ScaledMatrix.hpp>
#include <LibUtilities/LinearAlgebra/Blas.hpp>
#include <LibUtilities/LinearAlgebra/NekVectorFwd.hpp>
#include <LibUtilities/BasicUtils/OperatorGenerators.hpp>
#include <LibUtilities/BasicUtils/RawType.hpp>
#include <LibUtilities/LinearAlgebra/MatrixVectorMultiplication.hpp>
#include <LibUtilities/LinearAlgebra/NekMatrixMetadata.hpp>
#include <LibUtilities/LinearAlgebra/CanGetRawPtr.hpp>
#include <boost/utility/enable_if.hpp>
#include <boost/type_traits.hpp>
#include <string>
Include dependency graph for MatrixOperationsDeclarations.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  Nektar
 <

Functions

template<typename DataType , typename LhsDataType , typename MatrixType >
NekVector< DataType > Nektar::Multiply (const NekMatrix< LhsDataType, MatrixType > &lhs, const NekVector< DataType > &rhs)
template<typename DataType , typename LhsDataType , typename MatrixType >
void Nektar::Multiply (NekVector< DataType > &result, const NekMatrix< LhsDataType, MatrixType > &lhs, const NekVector< DataType > &rhs)
template<typename DataType , typename LhsInnerMatrixType >
void Nektar::Multiply (NekVector< DataType > &result, const NekMatrix< LhsInnerMatrixType, BlockMatrixTag > &lhs, const NekVector< DataType > &rhs)
template<typename ResultDataType , typename LhsDataType , typename LhsMatrixType >
void Nektar::Multiply (NekMatrix< ResultDataType, StandardMatrixTag > &result, const NekMatrix< LhsDataType, LhsMatrixType > &lhs, const ResultDataType &rhs)
LhsMatrixType NekMatrix
< typename NekMatrix
< LhsDataType, LhsMatrixType >
::NumberType,
StandardMatrixTag > 
Nektar::Multiply (const NekMatrix< LhsDataType, LhsMatrixType > &lhs, const DataType &rhs)
ResultDataType void Nektar::Multiply (NekMatrix< ResultDataType, StandardMatrixTag > &result, const ResultDataType &lhs, const NekMatrix< RhsDataType, RhsMatrixType > &rhs)
RhsMatrixType NekMatrix
< typename NekMatrix
< RhsDataType, RhsMatrixType >
::NumberType,
StandardMatrixTag > 
Nektar::Multiply (const DataType &lhs, const NekMatrix< RhsDataType, RhsMatrixType > &rhs)
template<typename LhsDataType >
void Nektar::MultiplyEqual (NekMatrix< LhsDataType, StandardMatrixTag > &lhs, typename boost::call_traits< LhsDataType >::const_reference rhs)
template<typename LhsDataType , typename RhsDataType , typename LhsMatrixType , typename RhsMatrixType >
void Nektar::NekMultiplyFullMatrixFullMatrix (NekMatrix< NekDouble, StandardMatrixTag > &result, const NekMatrix< LhsDataType, LhsMatrixType > &lhs, const NekMatrix< RhsDataType, RhsMatrixType > &rhs, typename boost::enable_if< boost::mpl::and_< CanGetRawPtr< NekMatrix< LhsDataType, LhsMatrixType > >, CanGetRawPtr< NekMatrix< RhsDataType, RhsMatrixType > > > >::type *p=0)
template<typename LhsDataType , typename RhsDataType , typename DataType , typename LhsMatrixType , typename RhsMatrixType >
void Nektar::Multiply (NekMatrix< DataType, StandardMatrixTag > &result, const NekMatrix< LhsDataType, LhsMatrixType > &lhs, const NekMatrix< RhsDataType, RhsMatrixType > &rhs)
template<typename RhsInnerType , typename RhsMatrixType >
void Nektar::MultiplyEqual (NekMatrix< double, StandardMatrixTag > &result, const NekMatrix< RhsInnerType, RhsMatrixType > &rhs, typename boost::enable_if< boost::mpl::and_< boost::is_same< typename RawType< typename NekMatrix< RhsInnerType, RhsMatrixType >::NumberType >::type, double >, CanGetRawPtr< NekMatrix< RhsInnerType, RhsMatrixType > > > >::type *t=0)
template<typename DataType , typename RhsInnerType , typename RhsMatrixType >
void Nektar::MultiplyEqual (NekMatrix< DataType, StandardMatrixTag > &result, const NekMatrix< RhsInnerType, RhsMatrixType > &rhs, typename boost::enable_if< boost::mpl::or_< boost::mpl::not_< boost::is_same< typename RawType< typename NekMatrix< RhsInnerType, RhsMatrixType >::NumberType >::type, double > >, boost::mpl::not_< CanGetRawPtr< NekMatrix< RhsInnerType, RhsMatrixType > > > > >::type *t=0)
template<typename LhsDataType , typename RhsDataType , typename LhsMatrixType , typename RhsMatrixType >
NekMatrix< typename
boost::remove_const< typename
NekMatrix< LhsDataType,
LhsMatrixType >::NumberType >
::type, StandardMatrixTag > 
Nektar::Multiply (const NekMatrix< LhsDataType, LhsMatrixType > &lhs, const NekMatrix< RhsDataType, RhsMatrixType > &rhs)
RhsMatrixType void Nektar::AddEqual (NekMatrix< DataType, StandardMatrixTag > &result, const NekMatrix< RhsDataType, RhsMatrixType > &rhs)
template<typename DataType , typename LhsDataType , typename LhsMatrixType , typename RhsDataType , typename RhsMatrixType >
DNekMat void Nektar::Add (NekMatrix< DataType, StandardMatrixTag > &result, const NekMatrix< LhsDataType, LhsMatrixType > &lhs, const NekMatrix< RhsDataType, RhsMatrixType > &rhs)
template<typename LhsDataType , typename LhsMatrixType , typename RhsDataType , typename RhsMatrixType >
DNekMat NekMatrix< typename
NekMatrix< LhsDataType,
LhsMatrixType >::NumberType,
StandardMatrixTag > 
Nektar::Add (const NekMatrix< LhsDataType, LhsMatrixType > &lhs, const NekMatrix< RhsDataType, RhsMatrixType > &rhs)
template<typename DataType , typename LhsDataType , typename LhsMatrixType , typename RhsDataType , typename RhsMatrixType >
void Nektar::AddNegatedLhs (NekMatrix< DataType, StandardMatrixTag > &result, const NekMatrix< LhsDataType, LhsMatrixType > &lhs, const NekMatrix< RhsDataType, RhsMatrixType > &rhs)
template<typename DataType , typename RhsDataType , typename RhsMatrixType >
void Nektar::AddEqualNegatedLhs (NekMatrix< DataType, StandardMatrixTag > &result, const NekMatrix< RhsDataType, RhsMatrixType > &rhs)
RhsMatrixType void Nektar::Subtract (NekMatrix< DataType, StandardMatrixTag > &result, const NekMatrix< LhsDataType, LhsMatrixType > &lhs, const NekMatrix< RhsDataType, RhsMatrixType > &rhs)
template<typename DataType , typename LhsDataType , typename LhsMatrixType , typename RhsDataType , typename RhsMatrixType >
void Nektar::SubtractNegatedLhs (NekMatrix< DataType, StandardMatrixTag > &result, const NekMatrix< LhsDataType, LhsMatrixType > &lhs, const NekMatrix< RhsDataType, RhsMatrixType > &rhs)
template<typename DataType , typename RhsDataType , typename RhsMatrixType >
DNekMat void Nektar::SubtractEqual (NekMatrix< DataType, StandardMatrixTag > &result, const NekMatrix< RhsDataType, RhsMatrixType > &rhs)
template<typename DataType , typename RhsDataType , typename RhsMatrixType >
void Nektar::SubtractEqualNegatedLhs (NekMatrix< DataType, StandardMatrixTag > &result, const NekMatrix< RhsDataType, RhsMatrixType > &rhs)
template<typename LhsDataType , typename LhsMatrixType , typename RhsDataType , typename RhsMatrixType >
DNekMat NekMatrix< typename
NekMatrix< LhsDataType,
LhsMatrixType >::NumberType,
StandardMatrixTag > 
Nektar::Subtract (const NekMatrix< LhsDataType, LhsMatrixType > &lhs, const NekMatrix< RhsDataType, RhsMatrixType > &rhs)