Loading...
Searching...
No Matches
Multiplication
Collaboration diagram for Multiplication:
template<class T >
void bitpit::linearalgebra::matmul (T, const std::vector< std::vector< T > > &, std::vector< std::vector< T > > &)
 
template<class T , size_t m, size_t n>
void bitpit::linearalgebra::matmul (T, const std::array< std::array< T, n >, m > &, std::array< std::array< T, n >, m > &)
 
template<class T >
void bitpit::linearalgebra::matmul (const std::vector< std::vector< T > > &, T, std::vector< std::vector< T > > &)
 
template<class T , size_t m, size_t n>
void bitpit::linearalgebra::matmul (const std::array< std::array< T, n >, m > &, T, std::array< std::array< T, n >, m > &)
 
template<class T >
void bitpit::linearalgebra::matmul (const std::vector< T > &, const std::vector< std::vector< T > > &, std::vector< T > &)
 
template<class T , size_t m, size_t n>
void bitpit::linearalgebra::matmul (const std::array< T, m > &, const std::array< std::array< T, n >, m > &, std::array< T, n > &)
 
template<class T >
void bitpit::linearalgebra::matmul (const std::vector< std::vector< T > > &, const std::vector< T > &, std::vector< T > &)
 
template<class T , size_t m, size_t n>
void bitpit::linearalgebra::matmul (const std::array< std::array< T, n >, m > &, const std::array< T, n > &, std::array< T, m > &)
 
template<class T >
void bitpit::linearalgebra::matmul (const std::vector< std::vector< T > > &, const std::vector< std::vector< T > > &, std::vector< std::vector< T > > &)
 
template<class T , size_t m, size_t n, size_t l>
void bitpit::linearalgebra::matmul (const std::array< std::array< T, n >, m > &, const std::array< std::array< T, l >, n > &, std::array< std::array< T, l >, m > &)
 
template<class T , size_t d1, size_t d2, size_t d3>
std::array< std::array< T, d2 >, d1 > bitpit::linearalgebra::matmul (const std::array< std::array< T, d3 >, d1 > &, const std::array< std::array< T, d2 >, d3 > &)
 
template<class T >
std::vector< std::vector< T > > bitpit::linearalgebra::matmul (const std::vector< std::vector< T > > &, const std::vector< std::vector< T > > &)
 
template<class T >
std::vector< std::vector< T > > bitpit::linearalgebra::matmulDiag (const std::vector< T > &, const std::vector< std::vector< T > > &)
 
template<class T >
std::vector< std::vector< T > > bitpit::linearalgebra::matmulDiag (const std::vector< std::vector< T > > &, const std::vector< T > &)
 
template<class T , size_t d1, size_t d2>
std::array< std::array< T, d2 >, d1 > bitpit::linearalgebra::matmulDiag (const std::array< T, d1 > &, const std::array< std::array< T, d2 >, d1 > &)
 
template<class T , size_t d1, size_t d2>
std::array< std::array< T, d2 >, d1 > bitpit::linearalgebra::matmulDiag (const std::array< std::array< T, d2 >, d1 > &, const std::array< T, d2 > &)
 
template<class T >
std::vector< T > bitpit::linearalgebra::matmul (const std::vector< std::vector< T > > &, const std::vector< T > &)
 
template<class T , size_t d1, size_t d2>
std::array< T, d1 > bitpit::linearalgebra::matmul (const std::array< std::array< T, d2 >, d1 > &, const std::array< T, d2 > &)
 
template<class T >
std::vector< std::vector< T > > bitpit::linearalgebra::tensorProduct (std::vector< T > const &, std::vector< T > const &)
 
template<class T , size_t n, size_t m>
std::array< std::array< T, m >, n > bitpit::linearalgebra::tensorProduct (std::array< T, n > const &, std::array< T, m > const &)
 

Detailed Description

Function Documentation

◆ matmul() [1/14]

template<class T , size_t d1, size_t d2>
std::array< T, d1 > bitpit::linearalgebra::matmul ( const std::array< std::array< T, d2 >, d1 > & M,
const std::array< T, d2 > & x )

Matrix-vector multiplication. Overloading of matmul() for container array.

Parameters
[in]Minput matrix
[in]xinput vector
Returns
product between M and x

Definition at line 765 of file multiplication.tpp.

◆ matmul() [2/14]

template<class T , size_t d1, size_t d2, size_t d3>
std::array< std::array< T, d2 >, d1 > bitpit::linearalgebra::matmul ( const std::array< std::array< T, d3 >, d1 > & M,
const std::array< std::array< T, d2 >, d3 > & N )

Matrix multiplication. Overloading of matmul() function for container array.

Parameters
[in]M1st argument
[in]N2nd argument
Returns
product of M and N.

Definition at line 607 of file multiplication.tpp.

◆ matmul() [3/14]

template<class T , size_t m, size_t n, size_t l>
void bitpit::linearalgebra::matmul ( const std::array< std::array< T, n >, m > & A,
const std::array< std::array< T, l >, n > & B,
std::array< std::array< T, l >, m > & C )

Matrix multiplication between two matrices. Overloading of matmul() for container array.

Parameters
[in]Ainput matrix
[in]Binput matrix
[in,out]Cproduct between A and B

Definition at line 523 of file multiplication.tpp.

◆ matmul() [4/14]

template<class T , size_t m, size_t n>
void bitpit::linearalgebra::matmul ( const std::array< std::array< T, n >, m > & A,
const std::array< T, n > & B,
std::array< T, m > & C )

Matrix multiplication between matrix and vector. Overloading of matmul() function for container array.

Parameters
[in]Ainput matrix
[in]Binput vector
[in,out]Cproduct between A and B

Definition at line 406 of file multiplication.tpp.

◆ matmul() [5/14]

template<class T , size_t m, size_t n>
void bitpit::linearalgebra::matmul ( const std::array< std::array< T, n >, m > & B,
T A,
std::array< std::array< T, n >, m > & C )

Matrix multiplication between matrix and scalar. Overloading of matmul() function for container array.

Parameters
[in]Ainput matrix
[in]Binput scalar
[in,out]Cproduct between A and B

Definition at line 186 of file multiplication.tpp.

◆ matmul() [6/14]

template<class T , size_t m, size_t n>
void bitpit::linearalgebra::matmul ( const std::array< T, m > & A,
const std::array< std::array< T, n >, m > & B,
std::array< T, n > & C )

Matrix multiplication between vector and matrix. Overloading of matmul() function for container array.

Parameters
[in]Ainput vector
[in]Binput matrix
[in,out]Cproduct between A and B

Definition at line 295 of file multiplication.tpp.

◆ matmul() [7/14]

template<class T >
std::vector< std::vector< T > > bitpit::linearalgebra::matmul ( const std::vector< std::vector< T > > & M,
const std::vector< std::vector< T > > & N )

Matrix product.

Parameters
[in]M1st argument of matrix multiplication
[in]N2nd argument of matrix multiplication
Returns
product between M and N.

Definition at line 577 of file multiplication.tpp.

◆ matmul() [8/14]

template<class T >
void bitpit::linearalgebra::matmul ( const std::vector< std::vector< T > > & A,
const std::vector< std::vector< T > > & B,
std::vector< std::vector< T > > & C )

Matrix multiplication between two matrices.

Parameters
[in]Ainput matrix
[in]Binput matrix
[in,out]Cproduct between A and B

Definition at line 452 of file multiplication.tpp.

◆ matmul() [9/14]

template<class T >
std::vector< T > bitpit::linearalgebra::matmul ( const std::vector< std::vector< T > > & M,
const std::vector< T > & x )

Matrix-vector multiplication.

Parameters
[in]Minput matrix
[in]xinput vector
Returns
product between M and x

Definition at line 739 of file multiplication.tpp.

◆ matmul() [10/14]

template<class T >
void bitpit::linearalgebra::matmul ( const std::vector< std::vector< T > > & A,
const std::vector< T > & B,
std::vector< T > & C )

Matrix multiplication between matrix and vector.

Parameters
[in]Ainput matrix
[in]Binput vector
[in,out]Cproduct between A and B

Definition at line 341 of file multiplication.tpp.

◆ matmul() [11/14]

template<class T >
void bitpit::linearalgebra::matmul ( const std::vector< std::vector< T > > & B,
T A,
std::vector< std::vector< T > > & C )

Matrix multiplication between matrix and scalar.

Parameters
[in]Ainput matrix
[in]Binput scalar
[in,out]Cproduct between A and B

Definition at line 139 of file multiplication.tpp.

◆ matmul() [12/14]

template<class T >
void bitpit::linearalgebra::matmul ( const std::vector< T > & A,
const std::vector< std::vector< T > > & B,
std::vector< T > & C )

Matrix multiplication between vector and matrix.

Parameters
[in]Ainput vector
[in]Binput matrix
[in,out]Cproduct between A and B

Definition at line 230 of file multiplication.tpp.

◆ matmul() [13/14]

template<class T , size_t m, size_t n>
void bitpit::linearalgebra::matmul ( T A,
const std::array< std::array< T, n >, m > & B,
std::array< std::array< T, n >, m > & C )

Matrix multiplication between a scalar and a matrix. Overloading of matmul() function for container array.

Parameters
[in]Ainput scalar
[in]Binput matrix
[in,out]Cproduct between A and B

Definition at line 94 of file multiplication.tpp.

◆ matmul() [14/14]

template<class T >
void bitpit::linearalgebra::matmul ( T A,
const std::vector< std::vector< T > > & B,
std::vector< std::vector< T > > & C )

Matrix multiplication between a scalar and a matrix.

Parameters
[in]Ainput scalar
[in]Binput matrix
[in,out]Cproduct between A and B

Definition at line 40 of file multiplication.tpp.

◆ matmulDiag() [1/4]

template<class T , size_t d1, size_t d2>
std::array< std::array< T, d2 >, d1 > bitpit::linearalgebra::matmulDiag ( const std::array< std::array< T, d2 >, d1 > & M,
const std::array< T, d2 > & N )

Diadic matrix multiplication. Overloading of matmulDiag() function for container array.

Parameters
[in]M1st argument
[in]N2nd argument
Returns
diadic product between M and N.

Definition at line 712 of file multiplication.tpp.

◆ matmulDiag() [2/4]

template<class T , size_t d1, size_t d2>
std::array< std::array< T, d2 >, d1 > bitpit::linearalgebra::matmulDiag ( const std::array< T, d1 > & M,
const std::array< std::array< T, d2 >, d1 > & N )

Diadic matrix multiplication. Overloading of matmulDiag() function for container array.

Parameters
[in]M1st argument
[in]N2nd argument
Returns
diadic product between M and N.

Definition at line 687 of file multiplication.tpp.

◆ matmulDiag() [3/4]

template<class T >
std::vector< std::vector< T > > bitpit::linearalgebra::matmulDiag ( const std::vector< std::vector< T > > & M,
const std::vector< T > & N )

Diadic matrix multiplication

Parameters
[in]M1st argument
[in]N2nd argument
Returns
diadic product between M and N.

Definition at line 660 of file multiplication.tpp.

◆ matmulDiag() [4/4]

template<class T >
std::vector< std::vector< T > > bitpit::linearalgebra::matmulDiag ( const std::vector< T > & M,
const std::vector< std::vector< T > > & N )

Diadic matrix multiplicationx

Parameters
[in]M1st argument
[in]N2nd argument
Returns
diadic product between M and N.

Definition at line 635 of file multiplication.tpp.

◆ tensorProduct() [1/2]

template<class T , size_t n, size_t m>
std::array< std::array< T, m >, n > bitpit::linearalgebra::tensorProduct ( const std::array< T, n > & x,
const std::array< T, m > & y )

Tensor product. Overloading of tensorProduct() for container array.

Parameters
[in]x1st argument of the tensor product
[in]y2nd argument of the tensor product
Returns
tensor product between x and y

Definition at line 817 of file multiplication.tpp.

◆ tensorProduct() [2/2]

template<class T >
std::vector< std::vector< T > > bitpit::linearalgebra::tensorProduct ( const std::vector< T > & x,
const std::vector< T > & y )

Tensor product.

Parameters
[in]x1st argument of the tensor product
[in]y2nd argument of the tensor product
Returns
tensor product between x and y

Definition at line 789 of file multiplication.tpp.

--- layout: doxygen_footer ---