plll  1.0
matrix-ops.hpp File Reference

Operator definitions for matrices and vectors. More...

#include "arithmetic.hpp"
#include <memory>

Go to the source code of this file.

Classes

class  plll::linalg::implementation::AssignmentMatrixOperationImpl< MT1, MT2 >
 
class  plll::linalg::implementation::BinaryMatrixOperationImpl< A, B >
 
class  plll::linalg::implementation::BinaryMatrixOperationImpl_Impl< A, A_is_matrix, A_needs_wrapper, B, B_is_matrix, B_needs_wrapper >
 
class  plll::linalg::implementation::BinaryMatrixOperationImpl_Impl< A, false, true, B, true, false >
 
class  plll::linalg::implementation::BinaryMatrixOperationImpl_Impl< A, false, true, B, true, true >
 
class  plll::linalg::implementation::BinaryMatrixOperationImpl_Impl< A, true, false, B, false, true >
 
class  plll::linalg::implementation::BinaryMatrixOperationImpl_Impl< A, true, false, B, true, false >
 
class  plll::linalg::implementation::BinaryMatrixOperationImpl_Impl< A, true, false, B, true, true >
 
class  plll::linalg::implementation::BinaryMatrixOperationImpl_Impl< A, true, true, B, false, true >
 
class  plll::linalg::implementation::BinaryMatrixOperationImpl_Impl< A, true, true, B, true, false >
 
class  plll::linalg::implementation::BinaryMatrixOperationImpl_Impl< A, true, true, B, true, true >
 
class  plll::linalg::implementation::expressions::sub_1d< Dim >::operation_row< Cols >::ColEnumerator< MT >
 
class  plll::linalg::implementation::expressions::sub< Rows, Cols >::operation_generic< Rows, Cols >::ColEnumerator< MT >
 
class  plll::linalg::implementation::expressions::sub_1d< Dim >::operation_col< Rows >::ColsEnumerator< MT >
 
class  plll::linalg::implementation::expressions::sub_1d< Dim >::operation_row< Cols >::ColsEnumerator< MT >
 
class  plll::linalg::implementation::expressions::sub< Rows, Cols >::operation_generic< Rows, Cols >::ColsEnumerator< MT >
 
class  plll::linalg::implementation::expressions::componentwise_operation< Operation >
 
class  plll::linalg::implementation::expressions::matrix_matrix_multiplication< PairMatrices >::ConstColEnumerator
 
class  plll::linalg::implementation::expressions::matrix_matrix_multiplication< PairMatrices >::ConstColsEnumerator
 
class  plll::linalg::implementation::expressions::matrix_matrix_multiplication< PairMatrices >::ConstEnumerator_Generic
 
class  plll::linalg::implementation::expressions::matrix_matrix_multiplication< PairMatrices >::ConstEnumerator_OneCol
 
class  plll::linalg::implementation::expressions::matrix_matrix_multiplication< PairMatrices >::ConstEnumerator_OneRow
 
class  plll::linalg::implementation::expressions::ConstMatrixWrapper< MatrixType >
 
class  plll::linalg::implementation::expressions::matrix_matrix_multiplication< PairMatrices >::ConstRowEnumerator
 
class  plll::linalg::implementation::expressions::matrix_matrix_multiplication< PairMatrices >::ConstRowsEnumerator
 
class  plll::linalg::implementation::expressions::sub_1d< Dim >::operation_row< Cols >::ColsEnumerator< MT >::CustomColEnumerator
 
class  plll::linalg::implementation::expressions::sub_1d< Dim >::operation_col< Rows >::RowsEnumerator< MT >::CustomRowEnumerator
 
class  plll::linalg::implementation::expressions::CWAdd< OpA, OpB >
 
class  plll::linalg::implementation::expressions::CWDiv< OpA, OpB >
 
class  plll::linalg::implementation::expressions::CWMod< OpA, OpB >
 
class  plll::linalg::implementation::expressions::CWMul< OpA, OpB >
 
class  plll::linalg::implementation::expressions::CWSub< OpA, OpB >
 
class  plll::linalg::implementation::expressions::transpose< MT >::Enumerator
 
class  plll::linalg::implementation::expressions::sub< Rows, Cols >::operation_generic< Rows, Cols >::Enumerator< MT >
 
class  plll::linalg::implementation::expressions::expr< Operator, Data >
 
class  plll::linalg::implementation::expressions::matrix_negation< MTIn >::GetCoeffSteps_Type
 
class  plll::linalg::implementation::expressions::matrix_scalar_operation< Operation >::operation< MatrixScalarPair >::GetCoeffSteps_Type
 
class  plll::linalg::implementation::expressions::matrix_matrix_multiplication< PairMatrices >::GetCoeffSteps_Type
 
class  plll::linalg::implementation::expressions::identity_operation< Data >
 
class  plll::linalg::implementation::expressions::matrix_matrix_multiplication< PairMatrices >
 
class  plll::linalg::implementation::expressions::matrix_negation< MTIn >
 
class  plll::linalg::implementation::expressions::matrix_scalar_operation< Operation >
 
struct  plll::linalg::implementation::MatrixInfo< const expressions::ConstMatrixWrapper< MatrixType > >
 
struct  plll::linalg::implementation::MatrixInfo< const expressions::MatrixTemporaryWrapper< MatrixType > >
 
struct  plll::linalg::implementation::MatrixInfo< const expressions::MatrixWrapper< MatrixType > >
 
struct  plll::linalg::implementation::MatrixInfo< const expressions::ScalarWrapper< ScalarType > >
 
struct  plll::linalg::implementation::MatrixInfo< expressions::ConstMatrixWrapper< MatrixType > >
 
struct  plll::linalg::implementation::MatrixInfo< expressions::MatrixTemporaryWrapper< MatrixType > >
 
struct  plll::linalg::implementation::MatrixInfo< expressions::MatrixWrapper< MatrixType > >
 
struct  plll::linalg::implementation::MatrixInfo< expressions::ScalarWrapper< ScalarType > >
 
class  plll::linalg::implementation::expressions::MatrixTemporaryWrapper< MatrixType >
 
class  plll::linalg::implementation::expressions::MatrixWrapper< MatrixType >
 
class  plll::linalg::implementation::expressions::MSDiv< OpA, OpB >
 
class  plll::linalg::implementation::expressions::matrix_scalar_operation< Operation >::operation< MatrixScalarPair >::MSEnumerator< Enum >
 
class  plll::linalg::implementation::expressions::matrix_scalar_operation< Operation >::operation< MatrixScalarPair >::MSEnumerator_meta< Enum_meta, Enum >
 
class  plll::linalg::implementation::expressions::MSMod< OpA, OpB >
 
class  plll::linalg::implementation::expressions::MSMul< OpA, OpB >
 
class  plll::linalg::implementation::expressions::matrix_negation< MTIn >::NegEnumerator< Enum >
 
class  plll::linalg::implementation::expressions::matrix_negation< MTIn >::NegEnumerator_meta< Enum_meta, Enum >
 
class  plll::linalg::implementation::expressions::componentwise_operation< Operation >::operation< PairMatrices >
 
class  plll::linalg::implementation::expressions::matrix_scalar_operation< Operation >::operation< MatrixScalarPair >
 
class  plll::linalg::implementation::expressions::sub_1d< Dim >::operation_col< Rows >
 
class  plll::linalg::implementation::expressions::sub< Rows, Cols >::operation_generic< Rows, Cols >
 
class  plll::linalg::implementation::expressions::sub_1d< Dim >::operation_row< Cols >
 
class  plll::linalg::implementation::expressions::sub_1d< Dim >::operation_col< Rows >::RowEnumerator< MT >
 
class  plll::linalg::implementation::expressions::sub< Rows, Cols >::operation_generic< Rows, Cols >::RowEnumerator< MT >
 
class  plll::linalg::implementation::expressions::sub_1d< Dim >::operation_col< Rows >::RowsEnumerator< MT >
 
class  plll::linalg::implementation::expressions::sub_1d< Dim >::operation_row< Cols >::RowsEnumerator< MT >
 
class  plll::linalg::implementation::expressions::sub< Rows, Cols >::operation_generic< Rows, Cols >::RowsEnumerator< MT >
 
class  plll::linalg::implementation::expressions::ScalarWrapper< ScalarType >
 
class  plll::linalg::implementation::expressions::SMMul< OpA, OpB >
 
class  plll::linalg::implementation::expressions::transpose< MT >
 
class  plll::linalg::implementation::UnaryMatrixOperationImpl< A >
 
class  plll::linalg::implementation::UnaryMatrixOperationImpl_Impl< A, A_needs_wrapper >
 
class  plll::linalg::implementation::UnaryMatrixOperationImpl_Impl< A, false >
 
class  plll::linalg::implementation::UnaryMatrixOperationImpl_Impl< A, true >
 

Namespaces

 plll
 Contains the plll library.
 
 plll::linalg
 Contains the matrix and vector library as long as other linear algebra functionality.
 

Detailed Description

Operator definitions for matrices and vectors.

This header contains abstract templates used to implement all operations on vectors and matrices. These templates are instantiated in matrix-ops2.hpp.

Definition in file matrix-ops.hpp.