FflasFfpack
Functions
FFPACK::Protected Namespace Reference

Functions

template<class Field >
size_t LUdivine_construct (const Field &F, const FFLAS::FFLAS_DIAG Diag, const size_t M, const size_t N, typename Field::ConstElement_ptr A, const size_t lda, typename Field::Element_ptr X, const size_t ldx, typename Field::Element_ptr u, size_t *P, bool computeX, const FFPACK_MINPOLY_TAG MinTag=FfpackDense, const size_t kg_mc=0, const size_t kg_mb=0, const size_t kg_j=0)
 
template<class Field , class Polynomial >
std::list< Polynomial > & KellerGehrig (const Field &F, std::list< Polynomial > &charp, const size_t N, typename Field::ConstElement_ptr A, const size_t lda)
 
template<class Field , class Polynomial >
int KGFast (const Field &F, std::list< Polynomial > &charp, const size_t N, typename Field::Element_ptr A, const size_t lda, size_t *kg_mc, size_t *kg_mb, size_t *kg_j)
 
template<class Field , class Polynomial >
std::list< Polynomial > & KGFast_generalized (const Field &F, std::list< Polynomial > &charp, const size_t N, typename Field::Element_ptr A, const size_t lda)
 
template<class Field >
void fgemv_kgf (const Field &F, const size_t N, typename Field::ConstElement_ptr A, const size_t lda, typename Field::ConstElement_ptr X, const size_t incX, typename Field::Element_ptr Y, const size_t incY, const size_t kg_mc, const size_t kg_mb, const size_t kg_j)
 
template<class Field , class Polynomial >
std::list< Polynomial > & LUKrylov (const Field &F, std::list< Polynomial > &charp, const size_t N, typename Field::Element_ptr A, const size_t lda, typename Field::Element_ptr U, const size_t ldu)
 
template<class Field , class Polynomial >
std::list< Polynomial > & Danilevski (const Field &F, std::list< Polynomial > &charp, const size_t N, typename Field::Element_ptr A, const size_t lda)
 
template<class Field , class Polynomial >
std::list< Polynomial > & LUKrylov_KGFast (const Field &F, std::list< Polynomial > &charp, const size_t N, typename Field::Element_ptr A, const size_t lda, typename Field::Element_ptr X, const size_t ldx)
 
template<class Field >
size_t updateD (const Field &F, size_t *d, size_t k, std::vector< std::vector< typename Field::Element > > &minpt)
 
template<class Field >
size_t newD (const Field &F, size_t *d, bool &KeepOn, const size_t l, const size_t N, typename Field::Element_ptr X, const size_t *Q, std::vector< std::vector< typename Field::Element > > &minpt)
 
template<class Field >
void CompressRows (Field &F, const size_t M, typename Field::Element_ptr A, const size_t lda, typename Field::Element_ptr tmp, const size_t ldtmp, const size_t *d, const size_t nb_blocs)
 
template<class Field >
void CompressRowsQK (Field &F, const size_t M, typename Field::Element_ptr A, const size_t lda, typename Field::Element_ptr tmp, const size_t ldtmp, const size_t *d, const size_t deg, const size_t nb_blocs)
 
template<class Field >
void DeCompressRows (Field &F, const size_t M, const size_t N, typename Field::Element_ptr A, const size_t lda, typename Field::Element_ptr tmp, const size_t ldtmp, const size_t *d, const size_t nb_blocs)
 
template<class Field >
void DeCompressRowsQK (Field &F, const size_t M, const size_t N, typename Field::Element_ptr A, const size_t lda, typename Field::Element_ptr tmp, const size_t ldtmp, const size_t *d, const size_t deg, const size_t nb_blocs)
 
template<class Field >
void CompressRowsQA (Field &F, const size_t M, typename Field::Element_ptr A, const size_t lda, typename Field::Element_ptr tmp, const size_t ldtmp, const size_t *d, const size_t nb_blocs)
 
template<class Field >
void DeCompressRowsQA (Field &F, const size_t M, const size_t N, typename Field::Element_ptr A, const size_t lda, typename Field::Element_ptr tmp, const size_t ldtmp, const size_t *d, const size_t nb_blocs)
 

Function Documentation

◆ LUdivine_construct()

size_t LUdivine_construct ( const Field F,
const FFLAS::FFLAS_DIAG  Diag,
const size_t  M,
const size_t  N,
typename Field::ConstElement_ptr  A,
const size_t  lda,
typename Field::Element_ptr  X,
const size_t  ldx,
typename Field::Element_ptr  u,
size_t *  P,
bool  computeX,
const FFPACK_MINPOLY_TAG  MinTag = FfpackDense,
const size_t  kg_mc = 0,
const size_t  kg_mb = 0,
const size_t  kg_j = 0 
)

◆ KellerGehrig()

std::list< Polynomial > & KellerGehrig ( const Field F,
std::list< Polynomial > &  charp,
const size_t  N,
typename Field::ConstElement_ptr  A,
const size_t  lda 
)

◆ KGFast()

int KGFast ( const Field F,
std::list< Polynomial > &  charp,
const size_t  N,
typename Field::Element_ptr  A,
const size_t  lda,
size_t *  kg_mc,
size_t *  kg_mb,
size_t *  kg_j 
)

◆ KGFast_generalized()

std::list< Polynomial > & KGFast_generalized ( const Field F,
std::list< Polynomial > &  charp,
const size_t  N,
typename Field::Element_ptr  A,
const size_t  lda 
)

◆ fgemv_kgf()

void fgemv_kgf ( const Field F,
const size_t  N,
typename Field::ConstElement_ptr  A,
const size_t  lda,
typename Field::ConstElement_ptr  X,
const size_t  incX,
typename Field::Element_ptr  Y,
const size_t  incY,
const size_t  kg_mc,
const size_t  kg_mb,
const size_t  kg_j 
)

◆ LUKrylov()

std::list< Polynomial > & LUKrylov ( const Field F,
std::list< Polynomial > &  charp,
const size_t  N,
typename Field::Element_ptr  A,
const size_t  lda,
typename Field::Element_ptr  U,
const size_t  ldu 
)

◆ Danilevski()

std::list<Polynomial>& FFPACK::Protected::Danilevski ( const Field F,
std::list< Polynomial > &  charp,
const size_t  N,
typename Field::Element_ptr  A,
const size_t  lda 
)

◆ LUKrylov_KGFast()

std::list< Polynomial > & LUKrylov_KGFast ( const Field F,
std::list< Polynomial > &  charp,
const size_t  N,
typename Field::Element_ptr  A,
const size_t  lda,
typename Field::Element_ptr  X,
const size_t  ldx 
)

◆ updateD()

size_t FFPACK::Protected::updateD ( const Field F,
size_t *  d,
size_t  k,
std::vector< std::vector< typename Field::Element > > &  minpt 
)

◆ newD()

size_t FFPACK::Protected::newD ( const Field F,
size_t *  d,
bool &  KeepOn,
const size_t  l,
const size_t  N,
typename Field::Element_ptr  X,
const size_t *  Q,
std::vector< std::vector< typename Field::Element > > &  minpt 
)

◆ CompressRows()

void CompressRows ( Field F,
const size_t  M,
typename Field::Element_ptr  A,
const size_t  lda,
typename Field::Element_ptr  tmp,
const size_t  ldtmp,
const size_t *  d,
const size_t  nb_blocs 
)

◆ CompressRowsQK()

void CompressRowsQK ( Field F,
const size_t  M,
typename Field::Element_ptr  A,
const size_t  lda,
typename Field::Element_ptr  tmp,
const size_t  ldtmp,
const size_t *  d,
const size_t  deg,
const size_t  nb_blocs 
)

◆ DeCompressRows()

void DeCompressRows ( Field F,
const size_t  M,
const size_t  N,
typename Field::Element_ptr  A,
const size_t  lda,
typename Field::Element_ptr  tmp,
const size_t  ldtmp,
const size_t *  d,
const size_t  nb_blocs 
)

◆ DeCompressRowsQK()

void DeCompressRowsQK ( Field F,
const size_t  M,
const size_t  N,
typename Field::Element_ptr  A,
const size_t  lda,
typename Field::Element_ptr  tmp,
const size_t  ldtmp,
const size_t *  d,
const size_t  deg,
const size_t  nb_blocs 
)

◆ CompressRowsQA()

void CompressRowsQA ( Field F,
const size_t  M,
typename Field::Element_ptr  A,
const size_t  lda,
typename Field::Element_ptr  tmp,
const size_t  ldtmp,
const size_t *  d,
const size_t  nb_blocs 
)

◆ DeCompressRowsQA()

void DeCompressRowsQA ( Field F,
const size_t  M,
const size_t  N,
typename Field::Element_ptr  A,
const size_t  lda,
typename Field::Element_ptr  tmp,
const size_t  ldtmp,
const size_t *  d,
const size_t  nb_blocs 
)