|
linbox
|
BLAS3 multiplication algorithms. More...
#include <vector>#include "linbox/integer.h"#include <givaro/extension.h>#include <linbox/matrix/dense-matrix.h>#include "linbox/algorithms/matrix-blas3/mul-toomcook.inl"#include "linbox/algorithms/matrix-blas3/mul-naive.inl"#include "linbox/algorithms/matrix-blas3/mul-cra.inl"
Include dependency graph for mul.h:
This graph shows which files directly or indirectly include this file:Data Structures | |
| struct | naive |
| Toom-Cook method. More... | |
Namespaces | |
| LinBox | |
| Namespace in which all linbox code resides. | |
| LinBox::BLAS3::mulMethod | |
| BLAS3 Multiplication methods. | |
Functions | |
| template<class Zpz > | |
| BlasMatrix< Zpz > & | ToomCook (BlasMatrix< Zpz > &TC, BlasMatrix< Zpz > &iTC) |
| Build the Toom-Cook matrix helper. More... | |
| template<class Zpz , class GFq > | |
| std::vector< BlasMatrix< Zpz > > & | mul (std::vector< BlasMatrix< Zpz > > &C, const std::vector< BlasMatrix< Zpz > > &A, const std::vector< BlasMatrix< Zpz > > &B, const mulMethod::ToomCook< GFq > &T) |
| Toom-Cook multiplication for GF(p^e) A matrix over GF(p^e) is represented by a polynomial of Z/pZ matrices. More... | |
| template<class Zpz > | |
| BlasMatrix< Givaro::Extension< Zpz > > & | mul (BlasMatrix< Givaro::Extension< Zpz > > &C, const BlasMatrix< Givaro::Extension< Zpz > > &A, const BlasMatrix< Givaro::Extension< Zpz > > &B, const mulMethod::ToomCook< Givaro::Extension< Zpz > > &T) |
| Toom-Cook multiplication for GF(p^e) More... | |
| template<class _anyMatrix , class _otherMatrix1 , class _otherMatrix2 > | |
| _anyMatrix & | mul (_anyMatrix &C, const _otherMatrix1 &A, const _otherMatrix2 &B, const mulMethod::naive &) |
| Triple loop ! just a simple triple loop. More... | |
BLAS3 multiplication algorithms.
| BlasMatrix< Zpz > & ToomCook | ( | BlasMatrix< Zpz > & | TC, |
| BlasMatrix< Zpz > & | iTC | ||
| ) |
Build the Toom-Cook matrix helper.
We only provide this function for dense matrices (Blas for the moment) over Z/pZ.
| [out] | TC | matrix of Fp(i^j) |
| [out] | iTC | inverse of TC |
TC | std::vector<BlasMatrix<Zpz> >& LinBox::BLAS3::mul | ( | std::vector< BlasMatrix< Zpz > > & | C, |
| const std::vector< BlasMatrix< Zpz > > & | A, | ||
| const std::vector< BlasMatrix< Zpz > > & | B, | ||
| const mulMethod::ToomCook< GFq > & | T | ||
| ) |
Toom-Cook multiplication for GF(p^e) A matrix over GF(p^e) is represented by a polynomial of Z/pZ matrices.
| Zpz | is some modular field, GFq is Givaro::Extension (or the like) |
| [out] | C | result |
| A | matrix | |
| B | matrix |
| BlasMatrix< Givaro::Extension< Zpz > > & mul | ( | BlasMatrix< Givaro::Extension< Zpz > > & | C, |
| const BlasMatrix< Givaro::Extension< Zpz > > & | A, | ||
| const BlasMatrix< Givaro::Extension< Zpz > > & | B, | ||
| const mulMethod::ToomCook< Givaro::Extension< Zpz > > & | T | ||
| ) |
Toom-Cook multiplication for GF(p^e)
| Zpz | is some modular field, GFq is Givaro::Extension (or the like) |
| [out] | C | result |
| A | matrix | |
| B | matrix |
| _anyMatrix & mul | ( | _anyMatrix & | C, |
| const _otherMatrix1 & | A, | ||
| const _otherMatrix2 & | B, | ||
| const mulMethod::naive & | |||
| ) |
Triple loop ! just a simple triple loop.
| [out] | C | result |
| [in] | A | matrix |
| [in] | B | matrix |
1.8.13