class algoException
Algorithmic exception. More...
class AlgorithmMetaData
Algorithm metadata;. More...
class BadInputException
The input is not as expected. More...
class BenchmarkMetaData
Benchmark metadata;. More...
class BitVector
Binary constant defined both for 32 and 64 bits. More...
class BlackboxArchetype
showing the member functions provided by all blackbox matrix classes. More...
class BlackboxBlockContainerBase
A base class for BlackboxBlockContainer. More...
class BlackboxBlockContainerRecord
no doc. More...
class BlackboxContainer
Limited doc so far. More...
class BlackboxContainerBase
A base class for BlackboxContainer . More...
class BlackboxContainerSymmetric
See base class for doc. More...
class BlackboxContainerSymmetrize
Symmetrizing iterator (for rank computations). More...
class BlackboxFactory
A tool for computations with integer and rational matrices. More...
class BlasMatrix
Dense matrix representation. More...
class BlasMatrix< MultiModDouble >
No Doc. More...
class BlasMatrixDomain
Interface for all functionnalities provided for BlasMatrix . More...
class BlasMatrixDomainAddin
C += A. More...
class BlasMatrixDomainMulAdd< BlasVector< Field >, BlasMatrix< Field, _Rep >, BlasVector< Field > >
what about subvector/submatrices ? More...
class BlasMatrixDomainSubin
C -= A. More...
class BlasPermutation
Lapack-style permutation. More...
class BlasSubmatrix
Dense Submatrix representation. More...
class BlockBB
converts a black box into a block black box More...
class BlockCompose
Blackbox of a product: , i.e . More...
class BlockCoppersmithDomain
Compute the linear generator of a sequence of matrices. More...
class BlockHankelLiftingContainer
Block Hankel LiftingContianer. More...
class BlockLanczosSolver
Block Lanczos iteration. More...
class BlockMasseyDomain
Compute the linear generator of a sequence of matrices. More...
class BlockWiedemannLiftingContainer
Block Wiedemann LiftingContianer. More...
class BooleanSwitch
Boolean switch object. More...
class Butterfly
Switching Network based BlackBox Matrix. More...
class CekstvSwitch
The default butterfly switch object. More...
struct ChineseRemainder
No doc. More...
struct ChineseRemainderSequential
No doc. More...
struct ClassifyRing
Default ring category. More...
class Commentator
Give information to user during runtime. More...
struct Companion
Companion matrix of a monic polynomial. More...
class Compose
Blackbox of a product: , i.e . More...
class Compose< _Blackbox, _Blackbox >
specialization for _Blackbox1 = _Blackbox2 More...
class ComposeOwner
Blackbox of a product: , i.e . More...
class ComposeTraits
used in ..., for example More...
class ComposeTraits< BlasMatrix< Field, Rep > >
used in smith-binary, for example More...
class ConstantVectorStream
Constant vector factory. More...
struct ContainerCategories
used to separate BLAS2 and BLAS3 operations More...
struct ContainerTraits
Trait for the Category. More...
struct ContainerTraits< std::vector< _Rep > >
struct CRABuilderEarlyMultip
NO DOC. More...
struct CRABuilderEarlySingle
Heuristic Chinese Remaindering with early termination. More...
struct CRABuilderFullMultip
Chinese remaindering of a vector of elements without early termination. More...
struct CRABuilderFullMultipFixed
Chinese Remaindering Algorithm for multiple residues. More...
struct CRABuilderFullMultipMatrix
NO DOC. More...
struct CRABuilderFullSingle
Chinese Remaindering with full precision and no chance of failure. More...
struct CRABuilderProbSingle
Chinese Remaindering with guaranteed probability bound and early termination. More...
struct CRABuilderSingleBase
Abstract base class for CRA builders. More...
struct CRAResidue
Type information for the residue in a CRA iteration. More...
struct CRAResidue< Integer, Function >
Type information for the residue in a CRA iteration. More...
struct CRAResidue< std::vector< Integer >, Function >
Type information for the residue in a CRA iteration. More...
class CSF
Space efficient representation of sparse matrices. More...
struct DataSeries
this structure holds a bunch of timings. More...
class DenseContainer
Limited doc so far. More...
class DenseMat
to be used in standard matrix domain More...
class DensePolynomial
Dense Polynomial representation using Givaro. More...
class Diagonal
Random diagonal matrices are used heavily as preconditioners. More...
class Diagonal< _Field, VectorCategories::DenseVectorTag >
Specialization of Diagonal for application to dense vectors. More...
class Diagonal< _Field, VectorCategories::SparseAssociativeVectorTag >
Specialization of Diagonal for application to sparse associative vectors. More...
class Diagonal< _Field, VectorCategories::SparseSequenceVectorTag >
Specialization of Diagonal for application to sparse sequence vectors. More...
class Dif
Blackbox of a difference: C := A - B
, i.e Cx = Ax - Bx
. More...
class DiophantineSolver
DiophantineSolver<QSolver> creates a diophantine solver using a QSolver to generate rational solutions. More...
class DirectSum
If C = DirectSum(A, B) and y = xA and z = wB, then (y,z) = (x,w)C. More...
class DixonLiftingContainer
Dixon Lifting Container. More...
class DotProductDomain< Givaro::Modular< uint16_t, Compute_t > >
Specialization of DotProductDomain for unsigned short modular field. More...
class DotProductDomain< Givaro::Modular< uint32_t, Compute_t > >
Specialization of DotProductDomain for uint32_t modular field. More...
class DotProductDomain< Givaro::Modular< uint64_t, Compute_t > >
Specialization of DotProductDomain for uint64_t modular field. More...
class DotProductDomain< Givaro::Modular< uint8_t, Compute_t > >
Specialization of DotProductDomain for unsigned short modular field. More...
class DotProductDomain< Givaro::ModularBalanced< double > >
Specialization of DotProductDomain. More...
class ElementAbstract
Abstract element base class, a technicality. More...
class ElementArchetype
Field and Ring element interface specification and archetypical instance class. More...
class ElementEnvelope
Adaptor from archetypical interface to abstract interface, a technicality. More...
class Eliminator
Elimination system. More...
class EnvironmentMetaData
Environment metadata;. More...
class Exception
This is the exception class in LinBox . More...
class FieldAbstract
field base class. More...
class FieldArchetype
field specification and archetypical instance. More...
class FieldAXPY
FieldAXPY object. More...
class FieldAXPY< Givaro::Modular< uint16_t, Compute_t > >
Specialization of FieldAXPY for uint16_t modular field. More...
class FieldAXPY< Givaro::Modular< uint32_t, Compute_t > >
Specialization of FieldAXPY for unsigned short modular field. More...
class FieldAXPY< Givaro::Modular< uint64_t, Compute_t > >
Specialization of FieldAXPY for unsigned short modular field. More...
class FieldAXPY< Givaro::Modular< uint8_t, Compute_t > >
Specialization of FieldAXPY for uint8_t modular field. More...
class FieldAXPY< Givaro::ModularBalanced< double > >
Specialization of FieldAXPY . More...
class FieldDocumentation
This field base class exists solely to aid documentation organization. More...
class FieldEnvelope
Derived class used to implement the field archetype. More...
class FieldMetaData
Field metadata. More...
struct FieldTraits
FieldTrait. More...
class GaussDomain
Repository of functions for rank by elimination on sparse matrices. More...
class GeneratorMetaData
Generator metadata;. More...
class GenericRandIter
Random field base element generator. More...
struct GetEntryCategory
GetEntryCategory is specialized for BB classes that offer a local getEntry. More...
struct GivaroRnsFixedCRA
NO DOC... More...
class GmpRandomPrime
generating random prime integers, using the gmp library. More...
class GMPRationalElement
elements of GMP_Rationals. More...
class Hilbert
Example of a blackbox that is space efficient, though not time efficient. More...
class Hilbert_JIT_Entry
The object needed to build a Hilbert matrix as a JIT matrix. More...
class Hom
map element of source ring(field) to target ring More...
class InconsistentSystem
Exception thrown when the system to be solved is inconsistent. More...
class indexDomain
Class used for permuting indices. More...
struct IndexedCategory
Trait to show whether or not the BB class has a Indexed iterator. More...
struct IndexedCategory< BlasMatrix< Field, _Rep > >
class Inverse
A Blackbox for the inverse. More...
class InvertTextbookDomain
Assumes that Field is a field, not a ring. More...
class IrrecuperableException
Something bad an unexpected happened. More...
class JIT_Matrix
example of a blackbox that is space efficient, though not time efficient. More...
class LABlockLanczosSolver
Biorthogonalising block Lanczos iteration. More...
class LanczosSolver
Solve a linear system using the conjugate Lanczos iteration. More...
class LargeDouble
NO DOC. More...
class LastInvariantFactor
This is used in a Smith Form algorithm. More...
class latticeMethod
NTL methods. More...
class LinboxError
base class for execption handling in LinBox More...
struct Local2_32
Fast arithmetic mod 2^32, including gcd. More...
class MaskedPrimeIterator
Masked Prime Iterator. More...
class MasseyDomain
Berlekamp/Massey algorithm. More...
class MatrixArchetype
Directly-represented matrix archetype. More...
class MatrixBlackbox
Matrix black box. More...
struct MatrixCategories
For specializing matrix arithmetic. More...
class MatrixContainerTrait
NODOC. More...
class MatrixDomain
Class of matrix arithmetic functions. More...
class MatrixDomain< GF2 >
Specialization of MatrixDomain for GF2. More...
struct MatrixHomTrait
try to map a blackbox over a homorphic ring The most suitable type More...
class MatrixMetaData
Matrix metadata. More...
class MatrixPermutation
Permutation classique. More...
class MatrixRank
Compute the rank of an integer matrix in place over a finite field by Gaussian elimination. More...
class MatrixStream
MatrixStream . More...
class MatrixStreamReader
An abstract base class to represent readers for specific formats. More...
struct MatrixTraits
NO DOC. More...
class MetaData
This is the general metadata class. More...
struct Method
Define which method to use when working on a system. More...
struct MethodBase
Holds everything a method needs to know about the problem. More...
class MGBlockLanczosSolver
Block Lanczos iteration. More...
class ModularCrookedRandIter
Random field base element generator. More...
class MoorePenrose
Generalized inverse of a blackbox. More...
class MVProductDomain
Helper class to allow specializations of certain matrix-vector products. More...
class MVProductDomain< Givaro::Modular< uint16_t, Compute_t > >
Specialization of MVProductDomain for uint16_t modular field. More...
class MVProductDomain< Givaro::Modular< uint32_t, Compute_t > >
Specialization of MVProductDomain for uint32_t modular field. More...
class MVProductDomain< Givaro::Modular< uint64_t, Compute_t > >
Specialization of MVProductDomain for uint64_t modular field. More...
class MVProductDomain< Givaro::Modular< uint8_t, Compute_t > >
Specialization of MVProductDomain for uint8_t modular field. More...
class NoHomError
Error object for attempt to establish a Hom that cannot exist. More...
class NotImplementedYetException
Not implemented yet. More...
struct NTL_PID_zz_p
extend Wrapper of zz_p from NTL. More...
class NTL_ZZ
the integer ring. More...
struct NTL_zz_p
long ints modulo a positive integer. More...
struct NTL_ZZ_p
Wrapper of zz_p from NTL. More...
class NTL_zz_pE
zz_pE Define a parameterized class to easily handle Givaro::ZRing<NTL::zz_pE> field More...
class NTL_ZZ_pE
Wrapper of ZZ_pE from NTL Define a parameterized class to handle easily Givaro::ZRing<NTL::ZZ_pE> field. More...
class NTL_zz_pE_Initialiser
use ZZ_pEBak mechanism too ? More...
class NTL_zz_pEX
Ring (in fact, a unique factorization domain) of polynomial with coefficients in class NTL_zz_p (integers mod a wordsize prime). More...
class NTL_ZZ_pX
Ring (in fact, a unique factorization domain) of polynomial with coefficients in class NTL_ZZ_p (integers mod a wordsize prime). More...
class NTL_zz_pX
Ring (in fact, a unique factorization domain) of polynomial with coefficients in class NTL_zz_p (integers mod a wordsize prime). More...
class NullMatrix
This is a representation of the 0 by 0 empty matrix which does not occupy memory. More...
class OneInvariantFactor
Limited doc so far. More...
class OpenCLEnviron
Container for all pertenant information needed to use an OpenCL device, compile kernels for the device, track resource usage, and gain exclusive access to the device. More...
class OpenCLMatrixDomain
Interface for all functionnalities provided for BlasMatrix using GPUs. More...
class ParamFuzzy
Abstract parameterized field of "fuzzy" doubles. More...
class PIR_ntl_ZZ_p
extend Wrapper of ZZ_p from NTL. More...
class PlainSubmatrix
to be used in reference matrix domain (PlainDomain). More...
class PlotData
The raw data to plot. More...
class PlotGraph
The graph (2D). More...
class PlotStyle
Represents a table of values to plot (2D). More...
class PLUQMatrix
PLUQ factorisation. More...
class PolynomialBB
represent the matrix P(A) where A is a blackbox and P a polynomial More...
class PolynomialBBOwner
represent the matrix P(A) where A is a blackbox and P a polynomial More...
class PolynomialRing
Polynomials. More...
class PowerGaussDomain
Repository of functions for rank modulo a prime power by elimination on sparse matrices. More...
class PowerGaussDomainPowerOfTwo
Repository of functions for rank modulo a prime power by elimination on sparse matrices. More...
class PreconditionFailed
A precondition failed. More...
class PrimeIterator
Prime Iterator. More...
class PrimeSequence
Adaptor class to make a fixed-length sequence behave like a PrimeIterator . More...
class PrimeStream
Prime number stream. More...
class RandIterAbstract
Random field element generator. More...
class RandIterArchetype
Random field element generator archetype. More...
class RandIterEnvelope
Random field base element generator. More...
class RandomDenseMatrix
Random Dense Matrix builder. More...
class RandomDenseStream
Random dense vector stream. More...
class RandomDenseStream< Field, _Vector, RandIter, VectorCategories::DenseVectorTag >
Specialization of random dense stream for dense vectors. More...
class RandomSparseStream
Random sparse vector stream. More...
class RandomSparseStream< Field, _Vector, RandIter, VectorCategories::DenseVectorTag >
Specialization of RandomSparseStream for dense vectors. More...
class RandomSparseStream< Field, _Vector, RandIter, VectorCategories::SparseAssociativeVectorTag >
Specialization of RandomSparseStream for sparse associative vectors. More...
class RandomSparseStream< Field, _Vector, RandIter, VectorCategories::SparseParallelVectorTag >
Specialization of RandomSparseStream for sparse parallel vectors. More...
class RandomSparseStream< Field, _Vector, RandIter, VectorCategories::SparseSequenceVectorTag >
Specialization of RandomSparseStream for sparse sequence vectors. More...
struct RankBuilder
random method for constructing rank More...
struct RationalChineseRemainder
Chinese remainder of rationals. More...
struct RationalChineseRemainderVarPrec
Chinese remainder of vector of rationals. More...
class RationalReconstruction
Limited doc so far. More...
class RationalSolver
Interface for the different specialization of p-adic lifting based solvers. More...
class RationalSolver< Ring, Field, RandomPrime, Method::BlockHankel >
Block Hankel. More...
class RationalSolver< Ring, Field, RandomPrime, Method::BlockWiedemann >
partial specialization of p-adic based solver with block Wiedemann algorithm. More...
class RationalSolver< Ring, Field, RandomPrime, Method::Dixon >
partial specialization of p-adic based solver with Dixon algorithm. More...
class RationalSolver< Ring, Field, RandomPrime, Method::SparseElimination >
Sparse LU. More...
class RationalSolver< Ring, Field, RandomPrime, Method::SymbolicNumericNorm >
solver using a hybrid Numeric/Symbolic computation. More...
class RationalSolver< Ring, Field, RandomPrime, Method::Wiedemann >
Partial specialization of p-adic based solver with Wiedemann algorithm. More...
struct RawVector
Canonical vector types. More...
struct Rebind
used in support of Hom , MatrixHom More...
struct Rebind< std::vector< T >, U >
Rebind . More...
class ReverseVector
Reverse vector class This class wraps an existing vector type and reverses its direction. More...
class RingAbstract
Abstract ring base class. More...
class RingArchetype
specification and archetypic instance for the ring interface More...
class RingEnvelope
implement the ring archetype to minimize code bloat. More...
class RingInterface
This ring base class exists solely to aid documentation organization. More...
class RNS
RNS . More...
class ScalarMatrix
Blackbox for aI
. More...
class SemiDIteration
CRA iteration to get a diagonal with the same signature. More...
class showProgression
Show progression on the terminal (helper) More...
class SigmaBasis
implementation of -basis (minimal basis). More...
class Sliced
The Sliced Matrix class _Domain must be a GF(3) rep, BaseT must be an unsigned int type. More...
class SlicedPolynomialMatrixAddin
C += A. More...
class SlicedPolynomialMatrixSubin
C -= A. More...
class SlicedPolynomialVectorAddin
C += A. More...
class SlicedPolynomialVectorSubin
C -= A. More...
class SmithFormBinary
Compute Smith form. More...
class SmithFormIliopoulos
This is Iliopoulos' algorithm to diagonalize. More...
class SmithFormLocal
Smith normal form (invariant factors) of a matrix over a local ring. More...
class Sparse_Vector
vector< Pair<T,I> > and actualsize More...
class SparseLULiftingContainer
SparseLULiftingContainer . More...
class SparseMatrix< _Field, SparseMatrixFormat::COO >
Sparse matrix, Coordinate storage. More...
class SparseMatrix< _Field, SparseMatrixFormat::COO::implicit >
Sparse matrix, Coordinate storage. More...
class SparseMatrix< _Field, SparseMatrixFormat::CSR >
Sparse matrix, Coordinate storage. More...
class SparseMatrix< _Field, SparseMatrixFormat::ELL >
Sparse matrix, Coordinate storage. More...
class SparseMatrix< _Field, SparseMatrixFormat::ELL_R >
Sparse matrix, Coordinate storage. More...
class SparseMatrix< _Field, SparseMatrixFormat::HYB >
Sparse matrix, Coordinate storage. More...
class SparseMatrix< Field_, SparseMatrixFormat::TPL >
Sparse Matrix in Triples storage. More...
class SparseMatrix< Field_, SparseMatrixFormat::TPL_omp >
Sparse matrix representation which stores nonzero entries by i,j,value triples. More...
class SparseMatrixReadHelper
Read helper. More...
class SparseMatrixWriteHelper
Write helper. More...
class Squarize
transpose matrix without copying. More...
class StandardBasisStream
Stream for . More...
class StandardBasisStream< Field, _Vector, VectorCategories::DenseVectorTag >
Specialization of standard basis stream for dense vectors. More...
class StandardBasisStream< Field, _Vector, VectorCategories::SparseAssociativeVectorTag >
Specialization of standard basis stream for sparse associative vectors. More...
class StandardBasisStream< Field, _Vector, VectorCategories::SparseParallelVectorTag >
Specialization of standard basis stream for sparse parallel vectors. More...
class StandardBasisStream< Field, _Vector, VectorCategories::SparseSequenceVectorTag >
Specialization of standard basis stream for sparse sequence vectors. More...
class StorageMetaData
Storage metadata;. More...
class Subiterator
Subvector iterator class provides striding iterators. More...
class Submatrix
leading principal minor of existing matrix without copying. More...
class Submatrix< Blackbox, VectorCategories::DenseVectorTag >
Specialization for dense vectors. More...
class Submatrix< Blackbox, VectorCategories::DenseZeroOneVectorTag >
Specialization for dense ZeroOne vectors. More...
class Submatrix< BlasMatrix< _Field >, VectorCategories::DenseVectorTag >
Specialization for BlasMatrix . More...
class SubmatrixAdapter
Generic submatrix view adapter used internally in the OpenCLMatrixDomain . More...
class SubmatrixOwner< Blackbox, VectorCategories::DenseVectorTag >
Specialization for dense vectors. More...
class Subvector
Dense subvector. More...
class Sum
blackbox of a matrix sum without copying. More...
class SumOwner
blackbox of a matrix sum without copying. More...
class Sylvester
This is a representation of the Sylvester matrix of two polynomials. More...
class TernaryLattice
NO DOC. More...
class TimeWatcher
Helper. More...
class Toeplitz
This is the blackbox representation of a Toeplitz matrix. More...
class Toeplitz< typename _PRing::CoeffField, _PRing >
Specialization for when the field of matrix elements is the same as the coefficient field of the polynomial field. More...
struct TraceCategory
Trait to show whether or not the BB class has a local trace function. More...
class Transpose
transpose matrix without copying. More...
class TransposedBlasMatrix
TransposedBlasMatrix . More...
class TransposedBlasMatrix< TransposedBlasMatrix< Matrix > >
TransposedBlasMatrix . More...
class TransposeMatrix
Matrix transpose. More...
class TransposeOwner
transpose matrix without copying. More...
class TriangularBlasMatrix
Triangular BLAS matrix. More...
struct UniqueSamplingTrait
Whether a prime generator generates a sequence with non repeating numbers. More...
class UnparametricRandIter< NTL::ZZ_p >
Constructor for random field element generator. More...
struct Vector
Vector ?? More...
struct VectorCategories
List of vector categories. More...
class VectorFraction
VectorFraction<Domain> is a vector of rational elements with common reduced denominator. More...
class VectorStream
Vector factory. More...
struct VectorTraits
Vector traits template structure. More...
class WiedemannLiftingContainer
Wiedemann LiftingContianer. More...
class WiedemannSolver
Linear system solvers based on Wiedemann's method. More...
class ZeroOne
Time and space efficient representation of sparse {0,1}-matrices. More...
class ZeroOne< GF2 >
Time and space efficient representation of sparse matrices over GF2. More...
class ZOQuad
A class of striped or block-decomposed zero-one matrices. More...
template<class Polynomial , class Blackbox >
Polynomial & cia (Polynomial &P, const Blackbox &A, const Method::DenseElimination &M)
Algorithm computing the integer characteristic polynomial of a dense matrix. More...
uint64_t primes_count (size_t pbits)
Lower bound on number of b-bit primes.
template<class Field >
size_t & NullSpaceBasisIn (const Tag::Side Side, BlasMatrix < Field > &A, BlasMatrix < Field > &Ker, size_t &kerdim)
Nullspace of a dense matrix on a finite field. More...
template<class DenseMat >
size_t & NullSpaceBasisIn (const Tag::Side Side, BlasSubmatrix < DenseMat > &A, BlasMatrix < typename DenseMat::Field > &Ker, size_t &kerdim)
template<class Field >
size_t & NullSpaceBasis (const Tag::Side Side, const BlasMatrix < Field > &A, BlasMatrix < Field > &Ker, size_t &kerdim)
Nullspace of a dense matrix on a finite field. More...
template<class Field >
size_t NullSpaceBasisIn (const Field &F, const Tag::Side Side, const size_t &m, const size_t &n, typename Field::Element *A, const size_t &lda, typename Field::Element *&Ker, size_t &ldk, size_t &kerdim)
Computes the kernel of a dense matrix using LQUP
. More...
template<class Ring >
bool partial_hegcd (Ring &Z, typename Ring::Element &e, typename Ring::Element &b, const typename Ring::Element &n, const typename Ring::Element &d, const typename Ring::Element &denBound)
partial_hegcd() sets e, b from the remainder sequence of n,d. More...
template<class Ring >
int dyadicToRational (const Ring &Z, typename Ring::Element &a, typename Ring::Element &b, const typename Ring::Element &n, const typename Ring::Element &d, const typename Ring::Element &B)
Rational reconstruction of a/b from n/d with denominator bound B. More...
template<class Blackbox , class MyMethod >
Blackbox::Field::Element & lif_cra_det (typename Blackbox::Field::Element &d, const Blackbox &A, const RingCategories::IntegerTag &tag, const MyMethod &M)
Compute the determinant of A over the integers. More...
std::vector< cl_platform_id > enumPlatforms ()
Enumerate all of the platforms currently available on the system.
std::string getPlatformName (cl_platform_id platform)
Get the platform name associated with the platform.
double getPlatformVersion (cl_platform_id platform)
Get the platform version associated with the platform.
std::vector< std::string > getPlatformExtensions (cl_platform_id platform)
Get the platform extensions associated with the platform.
std::vector< cl_device_id > enumDevices (cl_platform_id platform)
Enumerate all of the devices currently available on the platform.
cl_context createContext (cl_platform_id platform, cl_device_id device)
Create an OpenCL context from a platfrom and device.
template<class Prime >
bool checkBlasPrime (const Prime p)
NO DOC ! More...
int large_double_division (integer &x, const integer &y, const integer &z)
NO DOC.
template<class Domain >
void reduceIn (Domain &D, std::pair< typename Domain::Element, typename Domain::Element > &frac)
utility function to reduce a rational pair to lowest form
template<class Domain , class Vector >
void vectorGcdIn (typename Domain::Element &result, Domain &D, Vector &v)
utility function to gcd-in a vector of elements over a domain
template<class Domain , class Vector >
Domain::Element vectorGcd (Domain &D, Vector &v)
utility function, returns gcd of a vector of elements over a domain
template<class Domain , class IMatrix >
void create_MatrixQadic (const Domain &D, const IMatrix &Mat , double *chunks, size_t num_chunks, const integer shift)
split an integer matrix into a padic chunk representation More...
template<class Domain , class Vector >
void create_VectorQadic (const Domain &D, const Vector &V, double *chunks, size_t num_chunks)
split an integer vector into a padic chunk representation More...
template<class Domain , class Vector >
void create_VectorQadic_32 (const Domain &D, const Vector &V, double *chunks, size_t num_chunks)
split an integer vector into a padic chunk representation More...
template<class Field >
DenseMatrix < Field > & genericNullspaceRandomRight (DenseMatrix < Field > &N, const FIBB< Field > &A)
N: AN = 0, each col random.
template<class Field >
DenseMatrix < Field > & genericNullspaceRandomLeft (DenseMatrix < Field > &N, const FIBB< Field > &A)
N: NA = 0, each row random.
double naturallog (const Givaro::Integer &a)
Natural logarithm (ln). More...
template<class T >
std::enable_if<!std::is_unsigned< T >::value, bool >::value isPositive (const T &t)
Positiveness of an integer. More...
template<class _Field , class _Storage >
std::ostream & operator<< (std::ostream &os, const BlasMatrix < _Field, _Storage > &Mat )
Write a matrix to a stream. More...
void RandomBlasPermutation (BlasPermutation < size_t > &P)
template<class T >
std::ostream & operator<< (std::ostream &o, const DenseMat < T > &Mat )
Write a matrix to a stream. More...
template<class Field , class Vector >
Vector & prepare (const Field &F, Vector &y, const typename Field::Element &a)
y <- ay. More...
template<typename Container >
PrimeSequence < typename Container::const_iterator > create_prime_sequence (const Container &cont)
convenience factory to create a PrimeSequence from an STL-like container.
template<class Blackbox , class Polynomial , class MyMethod >
Polynomial & charpoly (Polynomial &P, const Blackbox &A, const MyMethod &M)
...using an optional Method parameter More...
template<class Blackbox , class Polynomial >
Polynomial & charpoly (Polynomial &P, const Blackbox &A)
...using default method
template<class Blackbox , class Polynomial >
Polynomial & charpoly (Polynomial &P, const Blackbox &A, const RingCategories::ModularTag &tag, const Method::DenseElimination &M)
Compute the characteristic polynomial over . More...
template<class Blackbox , class Polynomial >
Polynomial & charpoly (Polynomial &P, const Blackbox &A, const RingCategories::ModularTag &tag, const Method::Blackbox &M)
Compute the characteristic polynomial over . More...
template<class Blackbox , class DetMethod , class DomainCategory >
Blackbox::Field::Element & det (typename Blackbox::Field::Element &d, const Blackbox &A, const DomainCategory &tag, const DetMethod &Meth)
Compute the determinant of A. More...
template<class Field >
Field::Element & detInPlace (typename Field::Element &d, BlasMatrix < Field > &A)
Rank of Blackbox A
. More...
template<class Matrix , class CategoryTag , class EchelonMethod >
size_t rowEchelon (Matrix &E, const Matrix &A, const CategoryTag &tag, const EchelonMethod &m)
Compute the row echelon form of a matrix, not reduced. More...
template<class Matrix , class EchelonMethod >
size_t rowEchelon (Matrix &E, const Matrix &A, const EchelonMethod &m)
rowEchelon dispatcher for automated category tag.
template<class Matrix >
size_t rowEchelon (Matrix &E, const Matrix &A)
rowEchelon dispatcher for automated method.
template<class Matrix , class CategoryTag , class EchelonMethod >
size_t rowEchelon (Matrix &E, Matrix &T, const Matrix &A, const CategoryTag &tag, const EchelonMethod &m)
Compute the row echelon form of a matrix, not reduced, and the related transformation matrix. More...
template<class Matrix , class EchelonMethod >
size_t rowEchelon (Matrix &E, Matrix &T, const Matrix &A, const EchelonMethod &m)
rowEchelon dispatcher for automated category tag.
template<class Matrix >
size_t rowEchelon (Matrix &E, Matrix &T, const Matrix &A)
rowEchelon dispatcher for automated method.
template<class Matrix , class CategoryTag , class EchelonMethod >
size_t rowEchelonize (Matrix &A, const CategoryTag &tag, const EchelonMethod &m)
Replace the input matrix by its row echelon form, not reduced. More...
template<class Matrix , class EchelonMethod >
size_t rowEchelonize (Matrix &A, const EchelonMethod &m)
rowEchelonize dispatcher for automated category tag.
template<class Matrix >
size_t rowEchelonize (Matrix &A)
rowEchelonize dispatcher for automated method.
template<class Matrix , class CategoryTag , class EchelonMethod >
size_t rowEchelonize (Matrix &A, Matrix &T, const CategoryTag &tag, const EchelonMethod &m)
Compute the row echelon form of a matrix, not reduced, and the related transformation matrix. More...
template<class Matrix , class EchelonMethod >
size_t rowEchelonize (Matrix &A, Matrix &T, const EchelonMethod &m)
rowEchelonize dispatcher for automated category tag.
template<class Matrix >
size_t rowEchelonize (Matrix &A, Matrix &T)
rowEchelonize dispatcher for automated method.
template<class Matrix , class CategoryTag , class EchelonMethod >
size_t reducedRowEchelon (Matrix &E, const Matrix &A, const CategoryTag &tag, const EchelonMethod &m)
Compute the reduced row echelon form of a matrix. More...
template<class Matrix , class EchelonMethod >
size_t reducedRowEchelon (Matrix &E, const Matrix &A, const EchelonMethod &m)
reducedRowEchelon dispatcher for automated category tag.
template<class Matrix >
size_t reducedRowEchelon (Matrix &E, const Matrix &A)
reducedRowEchelon dispatcher for automated method.
template<class Matrix , class CategoryTag , class EchelonMethod >
size_t reducedRowEchelon (Matrix &E, Matrix &T, const Matrix &A, const CategoryTag &tag, const EchelonMethod &m)
Compute the reduced row echelon form of a matrix, and the related transformation matrix. More...
template<class Matrix , class EchelonMethod >
size_t reducedRowEchelon (Matrix &E, Matrix &T, const Matrix &A, const EchelonMethod &m)
reducedRowEchelon dispatcher for automated category tag.
template<class Matrix >
size_t reducedRowEchelon (Matrix &E, Matrix &T, const Matrix &A)
reducedRowEchelon dispatcher for automated method.
template<class Matrix , class CategoryTag , class EchelonMethod >
size_t reducedRowEchelonize (Matrix &A, const CategoryTag &tag, const EchelonMethod &m)
Replace the input matrix by its reduced row echelon form. More...
template<class Matrix , class EchelonMethod >
size_t reducedRowEchelonize (Matrix &A, const EchelonMethod &m)
reducedRowEchelonize dispatcher for automated category tag.
template<class Matrix >
size_t reducedRowEchelonize (Matrix &A)
reducedRowEchelonize dispatcher for automated method.
template<class Matrix , class CategoryTag , class EchelonMethod >
size_t reducedRowEchelonize (Matrix &A, Matrix &T, const CategoryTag &tag, const EchelonMethod &m)
Compute the reduced row echelon form of a matrix, and the related transformation matrix. More...
template<class Matrix , class EchelonMethod >
size_t reducedRowEchelonize (Matrix &A, Matrix &T, const EchelonMethod &m)
reducedRowEchelonize dispatcher for automated category tag.
template<class Matrix >
size_t reducedRowEchelonize (Matrix &A, Matrix &T)
reducedRowEchelonize dispatcher for automated method.
template<class Matrix , class CategoryTag , class EchelonMethod >
size_t colEchelon (Matrix &E, const Matrix &A, const CategoryTag &tag, const EchelonMethod &m)
Compute the column echelon form of a matrix, not reduced. More...
template<class Matrix , class EchelonMethod >
size_t colEchelon (Matrix &E, const Matrix &A, const EchelonMethod &m)
colEchelon dispatcher for automated category tag.
template<class Matrix >
size_t colEchelon (Matrix &E, const Matrix &A)
colEchelon dispatcher for automated method.
template<class Matrix , class CategoryTag , class EchelonMethod >
size_t colEchelon (Matrix &E, Matrix &T, const Matrix &A, const CategoryTag &tag, const EchelonMethod &m)
Compute the column echelon form of a matrix, not reduced, and the related transformation matrix. More...
template<class Matrix , class EchelonMethod >
size_t colEchelon (Matrix &E, Matrix &T, const Matrix &A, const EchelonMethod &m)
colEchelon dispatcher for automated category tag.
template<class Matrix >
size_t colEchelon (Matrix &E, Matrix &T, const Matrix &A)
colEchelon dispatcher for automated method.
template<class Matrix , class CategoryTag , class EchelonMethod >
size_t colEchelonize (Matrix &A, const CategoryTag &tag, const EchelonMethod &m)
Replace the input matrix by its column echelon form, not reduced. More...
template<class Matrix , class EchelonMethod >
size_t colEchelonize (Matrix &A, const EchelonMethod &m)
colEchelonize dispatcher for automated category tag.
template<class Matrix >
size_t colEchelonize (Matrix &A)
colEchelonize dispatcher for automated method.
template<class Matrix , class CategoryTag , class EchelonMethod >
size_t colEchelonize (Matrix &A, Matrix &T, const CategoryTag &tag, const EchelonMethod &m)
Compute the column echelon form of a matrix, not reduced, and the related transformation matrix. More...
template<class Matrix , class EchelonMethod >
size_t colEchelonize (Matrix &A, Matrix &T, const EchelonMethod &m)
colEchelonize dispatcher for automated category tag.
template<class Matrix >
size_t colEchelonize (Matrix &A, Matrix &T)
colEchelonize dispatcher for automated method.
template<class Matrix , class CategoryTag , class EchelonMethod >
size_t reducedColEchelon (Matrix &E, const Matrix &A, const CategoryTag &tag, const EchelonMethod &m)
Compute the reduced column echelon form of a matrix. More...
template<class Matrix , class EchelonMethod >
size_t reducedColEchelon (Matrix &E, const Matrix &A, const EchelonMethod &m)
reducedColEchelon dispatcher for automated category tag.
template<class Matrix >
size_t reducedColEchelon (Matrix &E, const Matrix &A)
reducedColEchelon dispatcher for automated method.
template<class Matrix , class CategoryTag , class EchelonMethod >
size_t reducedColEchelon (Matrix &E, Matrix &T, const Matrix &A, const CategoryTag &tag, const EchelonMethod &m)
Compute the reduced column echelon form of a matrix, and the related transformation matrix. More...
template<class Matrix , class EchelonMethod >
size_t reducedColEchelon (Matrix &E, Matrix &T, const Matrix &A, const EchelonMethod &m)
reducedColEchelon dispatcher for automated category tag.
template<class Matrix >
size_t reducedColEchelon (Matrix &E, Matrix &T, const Matrix &A)
reducedColEchelon dispatcher for automated method.
template<class Matrix , class CategoryTag , class EchelonMethod >
size_t reducedColEchelonize (Matrix &A, const CategoryTag &tag, const EchelonMethod &m)
Replace the input matrix by its reduced column echelon form. More...
template<class Matrix , class EchelonMethod >
size_t reducedColEchelonize (Matrix &A, const EchelonMethod &m)
reducedColEchelonize dispatcher for automated category tag.
template<class Matrix >
size_t reducedColEchelonize (Matrix &A)
reducedColEchelonize dispatcher for automated method.
template<class Matrix , class CategoryTag , class EchelonMethod >
size_t reducedColEchelonize (Matrix &A, Matrix &T, const CategoryTag &tag, const EchelonMethod &m)
Compute the reduced column echelon form of a matrix, and the related transformation matrix. More...
template<class Matrix , class EchelonMethod >
size_t reducedColEchelonize (Matrix &A, Matrix &T, const EchelonMethod &m)
reducedColEchelonize dispatcher for automated category tag.
template<class Matrix >
size_t reducedColEchelonize (Matrix &A, Matrix &T)
reducedColEchelonize dispatcher for automated method.
template<class Matrix , class CategoryTag >
size_t rowEchelon (Matrix &E, const Matrix &A, const CategoryTag &tag, const Method::Auto &m)
rowEchelon specialisation for Auto.
template<class Field >
size_t rowEchelon (DenseMatrix < Field > &E, const DenseMatrix < Field > &A, const RingCategories::ModularTag &tag, const Method::Auto &m)
rowEchelon specialisation for Auto with DenseMatrix and ModularTag.
template<class Matrix , class CategoryTag >
size_t rowEchelon (Matrix &E, Matrix &T, const Matrix &A, const CategoryTag &tag, const Method::Auto &m)
rowEchelon specialisation for Auto.
template<class Field >
size_t rowEchelon (DenseMatrix < Field > &E, DenseMatrix < Field > &T, const DenseMatrix < Field > &A, const RingCategories::ModularTag &tag, const Method::Auto &m)
rowEchelon specialisation for Auto with DenseMatrix and ModularTag.
template<class Matrix , class CategoryTag >
size_t rowEchelonize (Matrix &A, const CategoryTag &tag, const Method::Auto &m)
rowEchelonize specialisation for Auto.
template<class Field >
size_t rowEchelonize (DenseMatrix < Field > &A, const RingCategories::ModularTag &tag, const Method::Auto &m)
rowEchelonize specialisation for Auto with DenseMatrix and ModularTag.
template<class Matrix , class CategoryTag >
size_t rowEchelonize (Matrix &A, Matrix &T, const CategoryTag &tag, const Method::Auto &m)
rowEchelonize specialisation for Auto.
template<class Field >
size_t rowEchelonize (DenseMatrix < Field > &A, DenseMatrix < Field > &T, const RingCategories::ModularTag &tag, const Method::Auto &m)
rowEchelonize specialisation for Auto with DenseMatrix and ModularTag.
template<class Matrix , class CategoryTag >
size_t reducedRowEchelon (Matrix &E, const Matrix &A, const CategoryTag &tag, const Method::Auto &m)
reducedRowEchelon specialisation for Auto.
template<class Field >
size_t reducedRowEchelon (DenseMatrix < Field > &E, const DenseMatrix < Field > &A, const RingCategories::ModularTag &tag, const Method::Auto &m)
reducedRowEchelon specialisation for Auto with DenseMatrix and ModularTag.
template<class Matrix , class CategoryTag >
size_t reducedRowEchelon (Matrix &E, Matrix &T, const Matrix &A, const CategoryTag &tag, const Method::Auto &m)
reducedRowEchelon specialisation for Auto.
template<class Field >
size_t reducedRowEchelon (DenseMatrix < Field > &E, DenseMatrix < Field > &T, const DenseMatrix < Field > &A, const RingCategories::ModularTag &tag, const Method::Auto &m)
reducedRowEchelon specialisation for Auto with DenseMatrix and ModularTag.
template<class Matrix , class CategoryTag >
size_t reducedRowEchelonize (Matrix &A, const CategoryTag &tag, const Method::Auto &m)
reducedRowEchelonize specialisation for Auto.
template<class Field >
size_t reducedRowEchelonize (DenseMatrix < Field > &A, const RingCategories::ModularTag &tag, const Method::Auto &m)
reducedRowEchelonize specialisation for Auto with DenseMatrix and ModularTag.
template<class Matrix , class CategoryTag >
size_t reducedRowEchelonize (Matrix &A, Matrix &T, const CategoryTag &tag, const Method::Auto &m)
reducedRowEchelonize specialisation for Auto.
template<class Field >
size_t reducedRowEchelonize (DenseMatrix < Field > &A, DenseMatrix < Field > &T, const RingCategories::ModularTag &tag, const Method::Auto &m)
reducedRowEchelonize specialisation for Auto with DenseMatrix and ModularTag.
template<class Matrix , class CategoryTag >
size_t colEchelon (Matrix &E, const Matrix &A, const CategoryTag &tag, const Method::Auto &m)
colEchelon specialisation for Auto.
template<class Field >
size_t colEchelon (DenseMatrix < Field > &E, const DenseMatrix < Field > &A, const RingCategories::ModularTag &tag, const Method::Auto &m)
colEchelon specialisation for Auto with DenseMatrix and ModularTag.
template<class Matrix , class CategoryTag >
size_t colEchelon (Matrix &E, Matrix &T, const Matrix &A, const CategoryTag &tag, const Method::Auto &m)
colEchelon specialisation for Auto.
template<class Field >
size_t colEchelon (DenseMatrix < Field > &E, DenseMatrix < Field > &T, const DenseMatrix < Field > &A, const RingCategories::ModularTag &tag, const Method::Auto &m)
colEchelon specialisation for Auto with DenseMatrix and ModularTag.
template<class Matrix , class CategoryTag >
size_t colEchelonize (Matrix &A, const CategoryTag &tag, const Method::Auto &m)
colEchelonize specialisation for Auto.
template<class Field >
size_t colEchelonize (DenseMatrix < Field > &A, const RingCategories::ModularTag &tag, const Method::Auto &m)
colEchelonize specialisation for Auto with DenseMatrix and ModularTag.
template<class Matrix , class CategoryTag >
size_t colEchelonize (Matrix &A, Matrix &T, const CategoryTag &tag, const Method::Auto &m)
colEchelonize specialisation for Auto.
template<class Field >
size_t colEchelonize (DenseMatrix < Field > &A, DenseMatrix < Field > &T, const RingCategories::ModularTag &tag, const Method::Auto &m)
colEchelonize specialisation for Auto with DenseMatrix and ModularTag.
template<class Matrix , class CategoryTag >
size_t reducedColEchelon (Matrix &E, const Matrix &A, const CategoryTag &tag, const Method::Auto &m)
reducedColEchelon specialisation for Auto.
template<class Field >
size_t reducedColEchelon (DenseMatrix < Field > &E, const DenseMatrix < Field > &A, const RingCategories::ModularTag &tag, const Method::Auto &m)
reducedColEchelon specialisation for Auto with DenseMatrix and ModularTag.
template<class Matrix , class CategoryTag >
size_t reducedColEchelon (Matrix &E, Matrix &T, const Matrix &A, const CategoryTag &tag, const Method::Auto &m)
reducedColEchelon specialisation for Auto.
template<class Field >
size_t reducedColEchelon (DenseMatrix < Field > &E, DenseMatrix < Field > &T, const DenseMatrix < Field > &A, const RingCategories::ModularTag &tag, const Method::Auto &m)
reducedColEchelon specialisation for Auto with DenseMatrix and ModularTag.
template<class Matrix , class CategoryTag >
size_t reducedColEchelonize (Matrix &A, const CategoryTag &tag, const Method::Auto &m)
reducedColEchelonize specialisation for Auto.
template<class Field >
size_t reducedColEchelonize (DenseMatrix < Field > &A, const RingCategories::ModularTag &tag, const Method::Auto &m)
reducedColEchelonize specialisation for Auto with DenseMatrix and ModularTag.
template<class Matrix , class CategoryTag >
size_t reducedColEchelonize (Matrix &A, Matrix &T, const CategoryTag &tag, const Method::Auto &m)
reducedColEchelonize specialisation for Auto.
template<class Field >
size_t reducedColEchelonize (DenseMatrix < Field > &A, DenseMatrix < Field > &T, const RingCategories::ModularTag &tag, const Method::Auto &m)
reducedColEchelonize specialisation for Auto with DenseMatrix and ModularTag.
template<class Field >
size_t rowEchelon (DenseMatrix < Field > &E, const DenseMatrix < Field > &A, const RingCategories::ModularTag &tag, const Method::DenseElimination &M)
rowEchelon specialisation for DenseElimination with DenseMatrix and ModularTag.
template<class Field >
size_t rowEchelon (DenseMatrix < Field > &E, DenseMatrix < Field > &T, const DenseMatrix < Field > &A, const RingCategories::ModularTag &tag, const Method::DenseElimination &M)
rowEchelon with transformation specialisation for DenseElimination with DenseMatrix and ModularTag.
template<class Field >
size_t rowEchelonize (DenseMatrix < Field > &A, const RingCategories::ModularTag &tag, const Method::DenseElimination &M)
rowEchelonize specialisation for DenseElimination with DenseMatrix and ModularTag.
template<class Field >
size_t rowEchelonize (DenseMatrix < Field > &A, DenseMatrix < Field > &T, const RingCategories::ModularTag &tag, const Method::DenseElimination &M)
rowEchelonize with transformation specialisation for DenseElimination with DenseMatrix and ModularTag.
template<class Field >
size_t reducedRowEchelon (DenseMatrix < Field > &E, const DenseMatrix < Field > &A, const RingCategories::ModularTag &tag, const Method::DenseElimination &M)
reducedRowEchelon specialisation for DenseElimination with DenseMatrix and ModularTag.
template<class Field >
size_t reducedRowEchelon (DenseMatrix < Field > &E, DenseMatrix < Field > &T, const DenseMatrix < Field > &A, const RingCategories::ModularTag &tag, const Method::DenseElimination &M)
reducedRowEchelon with transformation specialisation for DenseElimination with DenseMatrix and ModularTag.
template<class Field >
size_t reducedRowEchelonize (DenseMatrix < Field > &A, const RingCategories::ModularTag &tag, const Method::DenseElimination &M)
reducedRowEchelonize specialisation for DenseElimination with DenseMatrix and ModularTag.
template<class Field >
size_t reducedRowEchelonize (DenseMatrix < Field > &A, DenseMatrix < Field > &T, const RingCategories::ModularTag &tag, const Method::DenseElimination &M)
reducedRowEchelonize with transformation specialisation for DenseElimination with DenseMatrix and ModularTag.
template<class Field >
size_t colEchelon (DenseMatrix < Field > &E, const DenseMatrix < Field > &A, const RingCategories::ModularTag &tag, const Method::DenseElimination &M)
colEchelon specialisation for DenseElimination with DenseMatrix and ModularTag.
template<class Field >
size_t colEchelon (DenseMatrix < Field > &E, DenseMatrix < Field > &T, const DenseMatrix < Field > &A, const RingCategories::ModularTag &tag, const Method::DenseElimination &M)
colEchelon with transformation specialisation for DenseElimination with DenseMatrix and ModularTag.
template<class Field >
size_t colEchelonize (DenseMatrix < Field > &A, const RingCategories::ModularTag &tag, const Method::DenseElimination &M)
colEchelonize specialisation for DenseElimination with DenseMatrix and ModularTag.
template<class Field >
size_t colEchelonize (DenseMatrix < Field > &A, DenseMatrix < Field > &T, const RingCategories::ModularTag &tag, const Method::DenseElimination &M)
colEchelonize with transformation specialisation for DenseElimination with DenseMatrix and ModularTag.
template<class Field >
size_t reducedColEchelon (DenseMatrix < Field > &E, const DenseMatrix < Field > &A, const RingCategories::ModularTag &tag, const Method::DenseElimination &M)
reducedColEchelon specialisation for DenseElimination with DenseMatrix and ModularTag.
template<class Field >
size_t reducedColEchelon (DenseMatrix < Field > &E, DenseMatrix < Field > &T, const DenseMatrix < Field > &A, const RingCategories::ModularTag &tag, const Method::DenseElimination &M)
reducedColEchelon with transformation specialisation for DenseElimination with DenseMatrix and ModularTag.
template<class Field >
size_t reducedColEchelonize (DenseMatrix < Field > &A, const RingCategories::ModularTag &tag, const Method::DenseElimination &M)
reducedColEchelonize specialisation for DenseElimination with DenseMatrix and ModularTag.
template<class Field >
size_t reducedColEchelonize (DenseMatrix < Field > &A, DenseMatrix < Field > &T, const RingCategories::ModularTag &tag, const Method::DenseElimination &M)
reducedColEchelonize with transformation specialisation for DenseElimination with DenseMatrix and ModularTag.
template<class BB >
BB::Field::Element & getEntry (typename BB::Field::Element &x, const BB &A, const size_t i, const size_t j)
Getting the i,j entry of the blackbox.
template<class BB , class Method >
BB::Field::Element & getEntry (typename BB::Field::Element &x, const BB &A, const size_t i, const size_t j, Method &m)
To ignore methods.
template<class IMatrix >
void HadamardRowLogBound (double &logBound, double &minLogNorm, const IMatrix &A)
Precise Hadamard bound (bound on determinant) by taking the row-wise euclidean norm. More...
template<class IMatrix >
void HadamardColLogBound (double &logBound, double &minLogNorm, const IMatrix &A)
Precise Hadamard bound (bound on determinant) by taking the column-wise euclidean norm. More...
template<class IMatrix >
HadamardLogBoundDetails DetailedHadamardBound (const IMatrix &A)
Precise Hadamard bound (bound on determinant) by taking the minimum of the column-wise and the row-wise euclidean norm. More...
template<class IMatrix >
double HadamardBound (const IMatrix &A)
Precise Hadamard bound (bound on determinant) by taking the minimum of the column-wise and the row-wise euclidean norm. More...
template<class IMatrix , class MTag >
Integer & InfinityNorm (Integer &max, const IMatrix &A, const MTag &tag)
Returns the maximal absolute value.
template<class IMatrix >
double FastHadamardBound (const IMatrix &A, const Integer &infnorm)
Returns the bit size of the Hadamard bound. More...
template<class IMatrix >
double FastCharPolyDumasPernetWanBound (const IMatrix &A, const Integer &infnorm)
Bound on the coefficients of the characteristic polynomial. More...
template<class IMatrix >
double FastCharPolyGoldsteinGrahamBound (const IMatrix &A, const Integer &infnorm)
A.J. More...
template<class Matrix , class Vector >
std::enable_if< std::is_same< typenameFieldTraits< typenameMatrix::Field >::categoryTag, RingCategories::IntegerTag >::value, RationalSolveHadamardBoundData >::type RationalSolveHadamardBound (const Matrix &A, const Vector &b)
Bound on the rational solution of a linear system Ax = b. More...
template<class Matrix , class Vector >
std::enable_if< std::is_same< typenameFieldTraits< typenameMatrix::Field >::categoryTag, RingCategories::RationalTag >::value, RationalSolveHadamardBoundData >::type RationalSolveHadamardBound (const Matrix &A, const Vector &b)
@fixme Needed to solve-cra.h, but can't be used yet.
template<class Blackbox , class MyMethod >
bool isPositiveDefinite (const Blackbox &A, const MyMethod &M)
Compute the isPositiveDefinite of A. More...
template<class Blackbox >
bool isPositiveDefinite (const Blackbox &A, const RingCategories::IntegerTag &tag, const Method::Auto &M)
template<class Blackbox >
bool isPositiveDefinite (const Blackbox &A, const RingCategories::IntegerTag &tag, const Method::DenseElimination &M)
template<class Blackbox , class MyMethod >
bool isPositiveSemiDefinite (const Blackbox &A, const MyMethod &M)
Determine if A is positive semidefinite. More...
template<class Blackbox >
bool isPositiveSemiDefinite (const Blackbox &A, const RingCategories::IntegerTag &tag, const Method::DenseElimination &M)
template<class Polynomial , class Blackbox >
Polynomial & minpoly (Polynomial &P, const Blackbox &A)
...using default Method
template<class Blackbox , class Method , class DomainCategory >
size_t & rank (size_t &r, const Blackbox &A, const DomainCategory &tag, const Method &M)
Compute the rank of a linear transform A over a field by selected method. More...
template<class Blackbox >
size_t & rank (size_t &r, const Blackbox &A)
Compute the rank of a linear transform A over a field. More...
template<class Blackbox , class Method >
size_t & rank (size_t &r, const Blackbox &A, const Method &M)
Compute the rank of a linear transform A over a field. More...
template<class Blackbox >
size_t & rankInPlace (size_t &r, Blackbox &A)
Rank of A
. More...
template<class Blackbox >
size_t & rank (size_t &r, const Blackbox &A, const RingCategories::ModularTag &tag, const Method::Auto &m)
template<class Blackbox >
size_t & rank (size_t &res, const Blackbox &A, const RingCategories::ModularTag &tag, const Method::Wiedemann &M)
M may be Method::Wiedemann()
. More...
template<class Field >
size_t & rank (size_t &r, const SparseMatrix< Field, SparseMatrixFormat::SparseSeq > &A, const RingCategories::ModularTag &tag, const Method::SparseElimination &M)
M may be Method::SparseElimination()
.
size_t & rankInPlace (size_t &r, GaussDomain < GF2 >::Matrix &A, const Method::SparseElimination &)
specialization to
size_t & rankInPlace (size_t &r, GaussDomain < GF2 >::Matrix &A, const RingCategories::ModularTag &, const Method::SparseElimination &M)
specialization to
template<class Field >
size_t & rankInPlace (size_t &r, BlasMatrix < Field > &A, const RingCategories::ModularTag &tag, const Method::DenseElimination &M)
A is modified.
template<class Blackbox , class Method >
SmithList< typename Blackbox::Field > & smithForm (SmithList< typename Blackbox::Field > &S, const Blackbox &A, const Method &M)
Compute the Smith form of A. More...
template<class ResultVector , class Matrix , class Vector , class CategoryTag , class SolveMethod >
ResultVector & solve (ResultVector &x, const Matrix &A, const Vector &b, const CategoryTag &tag, const SolveMethod &m)
Solve Ax = b, for x. More...
template<class ResultVector , class Matrix , class Vector , class SolveMethod >
ResultVector & solve (ResultVector &x, const Matrix &A, const Vector &b, const SolveMethod &m)
Solve dispatcher for automated category tag.
template<class ResultVector , class Matrix , class Vector >
ResultVector & solve (ResultVector &x, const Matrix &A, const Vector &b)
Solve dispatcher for automated solve method.
template<class RatVector , class RatMatrix , class Vector , class SolveMethod >
RatVector & solve (RatVector &x, const RatMatrix &A, const Vector &b, const RingCategories::RationalTag &tag, const SolveMethod &m)
Solve specialisation on RationalTag, with a generic method.
template<class RatVector , class Matrix , class Vector , class SolveMethod >
std::enable_if< std::is_same< typenameSolveMethod::CategoryTag, RingCategories::IntegerTag >::value &&std::is_same< typenameFieldTraits< typenameRatVector::Field >::categoryTag, RingCategories::RationalTag >::value, RatVector & >::type solve (RatVector &x, const Matrix &A, const Vector &b, const RingCategories::IntegerTag &tag, const SolveMethod &m)
Solve specialisation on IntegerTag with Vector<QField> as result. More...
template<class Matrix , class Vector , class SolveMethod >
std::enable_if< std::is_same< typenameSolveMethod::CategoryTag, RingCategories::IntegerTag >::value, VectorFraction < typenameMatrix::Field > & >::type solve (VectorFraction < typename Matrix::Field > &x, const Matrix &A, const Vector &b, const RingCategories::IntegerTag &tag, const SolveMethod &m)
Solve specialisation on IntegerTag with VectorFraction as result. More...
template<class IntVector , class Matrix , class Vector , class CategoryTag , class SolveMethod >
void solve (IntVector &xNum, typename IntVector::Element &xDen, const Matrix &A, const Vector &b, const CategoryTag &tag, const SolveMethod &m)
Rational solve Ax = b, for x expressed as xNum/xDen. More...
template<class IntVector , class Matrix , class Vector , class SolveMethod >
void solve (IntVector &xNum, typename IntVector::Element &xDen, const Matrix &A, const Vector &b, const RingCategories::IntegerTag &tag, const SolveMethod &m)
Rational solve dispatcher for unimplemented methods.
template<class IntVector , class Matrix , class Vector , class SolveMethod >
void solve (IntVector &xNum, typename IntVector::Element &xDen, const Matrix &A, const Vector &b, const SolveMethod &m)
Rational solve dispatcher for automated category tag.
template<class IntVector , class Matrix , class Vector >
void solve (IntVector &xNum, typename IntVector::Element &xDen, const Matrix &A, const Vector &b)
Rational solve dispatcher for automated solve method.
template<class ResultVector , class Matrix , class Vector , class CategoryTag , class SolveMethod >
ResultVector & solveInPlace (ResultVector &x, Matrix &A, const Vector &b, const CategoryTag &tag, const SolveMethod &m)
Solve Ax = b, for x. More...
template<class ResultVector , class Matrix , class Vector , class SolveMethod >
ResultVector & solveInPlace (ResultVector &x, Matrix &A, const Vector &b, const SolveMethod &m)
Solve in place dispatcher for automated category tag.
template<class ResultVector , class Matrix , class Vector >
ResultVector & solveInPlace (ResultVector &x, Matrix &A, const Vector &b)
Solve in place dispatcher for automated solve method.
template<class IntVector , class Matrix , class Vector , class SolveMethod , class CategoryTag >
void solveInPlace (IntVector &xNum, typename IntVector::Element &xDen, Matrix &A, const Vector &b, const CategoryTag &tag, const SolveMethod &m)
Rational solve in place Ax = b, for x expressed as xNum/xDen. More...
template<class IntVector , class Matrix , class Vector , class SolveMethod >
void solveInPlace (IntVector &xNum, typename IntVector::Element &xDen, Matrix &A, const Vector &b, const SolveMethod &m)
Rational solve in place dispatcher for automated category tag.
template<class IntVector , class Matrix , class Vector >
void solveInPlace (IntVector &xNum, typename IntVector::Element &xDen, Matrix &A, const Vector &b)
Rational solve in place dispatcher for automated solve method.
template<class ResultVector , class Matrix , class Vector , class CategoryTag >
ResultVector & solve (ResultVector &x, const Matrix &A, const Vector &b, const CategoryTag &tag, const Method::Auto &m)
Solve specialisation for Auto.
template<class ResultVector , class Field , class Vector >
ResultVector & solve (ResultVector &x, const DenseMatrix < Field > &A, const Vector &b, const RingCategories::ModularTag &tag, const Method::Auto &m)
Solve specialisation for Auto with DenseMatrix and ModularTag.
template<class ResultVector , class... MatrixArgs, class Vector >
ResultVector & solve (ResultVector &x, const SparseMatrix< MatrixArgs... > &A, const Vector &b, const RingCategories::ModularTag &tag, const Method::Auto &m)
Solve specialisation for Auto with SparseMatrix and ModularTag.
template<class ResultVector , class Matrix , class Vector >
ResultVector & solve (ResultVector &x, const Matrix &A, const Vector &b, const RingCategories::IntegerTag &tag, const Method::Auto &m)
Solve specialisation for Auto and IntegerTag.
template<class ResultVector , class Matrix , class Vector >
ResultVector & solve (ResultVector &x, const Matrix &A, const Vector &b, const RingCategories::RationalTag &tag, const Method::Auto &m)
Solve specialisation for Auto and RationalTag.
template<class IntVector , class Matrix , class Vector >
void solve (IntVector &xNum, typename IntVector::Element &xDen, const Matrix &A, const Vector &b, const RingCategories::IntegerTag &tag, const Method::Auto &m)
Solve specialization for Auto and IntegerTag.
template<class ResultVector , class Matrix , class Vector , class CategoryTag >
ResultVector & solveInPlace (ResultVector &x, Matrix &A, const Vector &b, const CategoryTag &tag, const Method::Auto &m)
Solve in place specialisation for Auto.
template<class ResultVector , class Matrix , class Vector >
ResultVector & solveInPlace (ResultVector &x, Matrix &A, const Vector &b, const RingCategories::IntegerTag &tag, const Method::Auto &m)
Solve in place specialisation for Auto and IntegerTag.
template<class ResultVector , class Field , class Vector , class CategoryTag >
std::enable_if<!std::is_same< CategoryTag, RingCategories::IntegerTag >::value, ResultVector & >::type solveInPlace (ResultVector &x, DenseMatrix < Field > &A, const Vector &b, const CategoryTag &tag, const Method::Auto &m)
Solve in place specialisation for Auto with DenseMatrix and non-IntegerTag.
template<class ResultVector , class... MatrixArgs, class Vector , class CategoryTag >
std::enable_if<!std::is_same< CategoryTag, RingCategories::IntegerTag >::value, ResultVector & >::type solveInPlace (ResultVector &x, SparseMatrix< MatrixArgs... > &A, const Vector &b, const CategoryTag &tag, const Method::Auto &m)
Solve in place specialisation for Auto with SparseMatrix and non-IntegerTag.
template<class Matrix , class Vector >
void solveInPlace (Vector &xNum, typename Vector::Element &xDen, Matrix &A, const Vector &b, const RingCategories::IntegerTag &tag, const Method::Auto &m)
Solve in place specialization for Auto and IntegerTag.
template<class ResultVector , class Matrix , class Vector , class CategoryTag >
ResultVector & solve (ResultVector &x, const Matrix &A, const Vector &b, const CategoryTag &tag, const Method::Blackbox &m)
Solve specialisation for Blackbox.
template<class ResultVector , class Matrix , class Vector , class CategoryTag >
ResultVector & solveInPlace (ResultVector &x, Matrix &A, const Vector &b, const CategoryTag &tag, const Method::Blackbox &m)
Solve in place specialisation for Blackbox.
template<class IntVector , class Matrix , class Vector , class IterationMethod >
void solve (IntVector &xNum, typename IntVector::Element &xDen, const Matrix &A, const Vector &b, const RingCategories::IntegerTag &tag, const Method::CRA< IterationMethod > &m)
Solve specialization with Chinese Remainder Algorithm method for an Integer or Rational tags. More...
template<class RatVector , class RatMatrix , class IterationMethod >
RatVector & solve (RatVector &x, const RatMatrix &A, const RatVector &b, const RingCategories::RationalTag &tag, const Method::CRA< IterationMethod > &m)
Solve specialization with Chinese Remainder Algorithm method for a Rational matrix.
template<class Matrix , class Vector >
Vector & solve (Vector &x, const Matrix &A, const Vector &b, const RingCategories::ModularTag &tag, const Method::DenseElimination &m)
Solve specialisation for DenseElimination.
template<class Field , class Vector >
Vector & solve (Vector &x, const DenseMatrix < Field > &A, const Vector &b, const RingCategories::ModularTag &tag, const Method::DenseElimination &m)
Solve specialisation for DenseElimination on dense matrices with ModularTag.
template<class IntVector , class Blackbox , class Vector >
void solve (IntVector &xNum, typename IntVector::Element &xDen, const Blackbox &A, const Vector &b, const RingCategories::IntegerTag &tag, const Method::Dixon &m)
Solve specialisation for Dixon on blackboxes matrices.
template<class IntVector , class Ring , class Vector >
void solve (IntVector &xNum, typename IntVector::Element &xDen, const DenseMatrix < Ring > &A, const Vector &b, const RingCategories::IntegerTag &tag, const Method::Dixon &m)
Solve specialisation for Dixon on dense matrices.
template<class IntVector , class... MatrixArgs, class Vector >
void solve (IntVector &xNum, typename IntVector::Element &xDen, const SparseMatrix< MatrixArgs... > &A, const Vector &b, const RingCategories::IntegerTag &tag, const Method::Dixon &m)
Solve specialisation for Dixon on sparse matrices.
template<class Matrix , class Vector , class CategoryTag >
Vector & solve (Vector &x, const Matrix &A, const Vector &b, const CategoryTag &tag, const Method::Elimination &m)
Solve specialisation for Elimination.
template<class MatrixField , class Vector , class CategoryTag >
Vector & solve (Vector &x, const DenseMatrix < MatrixField > &A, const Vector &b, const CategoryTag &tag, const Method::Elimination &m)
Solve specialisation for Elimination with DenseMatrix.
template<class MatrixField , class Vector , class CategoryTag >
Vector & solve (Vector &x, const SparseMatrix< MatrixField > &A, const Vector &b, const CategoryTag &tag, const Method::Elimination &m)
Solve specialisation for Elimination with SparseMatrix.
template<class Matrix , class Vector , class CategoryTag >
Vector & solveInPlace (Vector &x, Matrix &A, const Vector &b, const CategoryTag &tag, const Method::Elimination &m)
Solve in place specialisation for Elimination.
template<class MatrixField , class Vector , class CategoryTag >
Vector & solveInPlace (Vector &x, DenseMatrix < MatrixField > &A, const Vector &b, const CategoryTag &tag, const Method::Elimination &m)
Solve in place specialisation for Elimination with DenseMatrix.
template<class MatrixField , class Vector , class CategoryTag >
Vector & solveInPlace (Vector &x, SparseMatrix< MatrixField > &A, const Vector &b, const CategoryTag &tag, const Method::Elimination &m)
Solve in place specialisation for Elimination with SparseMatrix.
template<class Matrix , class Vector , class CategoryTag >
Vector & solve (Vector &x, const Matrix &A, const Vector &b, const CategoryTag &tag, const Method::Lanczos &m)
Solve specialisation for Lanczos.
template<class Matrix , class Vector >
Vector & solve (Vector &x, const Matrix &A, const Vector &b, const RingCategories::ModularTag &tag, const Method::Lanczos &m)
Solve specialisation for Lanczos with ModularTag.
template<class Matrix , class Vector , class CategoryTag >
Vector & solve (Vector &x, const Matrix &A, const Vector &b, const CategoryTag &tag, const Method::BlockLanczos &m)
Solve specialisation for BlockLanczos.
template<class Matrix , class Vector >
Vector & solve (Vector &x, const Matrix &A, const Vector &b, const RingCategories::ModularTag &tag, const Method::BlockLanczos &m)
Solve specialisation for BlockLanczos with ModularTag.
template<class IntVector , class Ring , class Vector >
void solve (IntVector &xNum, typename IntVector::Element &xDen, const DenseMatrix < Ring > &A, const Vector &b, const RingCategories::IntegerTag &tag, const Method::SymbolicNumericNorm &m)
Solve specialisation for SymbolicNumericNorm with IntegerTag on DenseMatrix.
template<class Matrix , class Vector >
Vector & solve (Vector &x, const Matrix &A, const Vector &b, const RingCategories::ModularTag &tag, const Method::SparseElimination &m)
Solve specialisation for SparseElimination.
template<class... MatrixArgs, class Vector >
Vector & solve (Vector &x, const SparseMatrix< MatrixArgs... > &A, const Vector &b, const RingCategories::ModularTag &tag, const Method::SparseElimination &m)
Solve specialisation for SparseElimination with SparseMatrix.
template<class... MatrixArgs, class Vector >
Vector & solveInPlace (Vector &x, SparseMatrix< MatrixArgs... > &A, const Vector &b, const RingCategories::ModularTag &tag, const Method::SparseElimination &m)
Solve in place specialisation for SparseElimination with SparseMatrix.
template<class ResultVector , class Matrix , class Vector , class CategoryTag >
ResultVector & solve (ResultVector &x, const Matrix &A, const Vector &b, const CategoryTag &tag, const Method::Wiedemann &m)
Solve specialisation for Wiedemann.
template<class ResultVector , class Matrix , class Vector >
ResultVector & solve (ResultVector &x, const Matrix &A, const Vector &b, const RingCategories::IntegerTag &tag, const Method::Wiedemann &m)
Solve specialisation for Wiedemann with IntegerTag.
template<class ResultVector , class Matrix , class Vector >
ResultVector & solve (ResultVector &x, const Matrix &A, const Vector &b, const RingCategories::ModularTag &tag, const Method::Wiedemann &m)
Solve specialisation for Wiedemann with ModularTag.
template<class ResultVector , class Matrix , class Vector , class CategoryTag >
ResultVector & solve (ResultVector &x, const Matrix &A, const Vector &b, const CategoryTag &tag, const Method::BlockWiedemann &m)
Solve specialisation for BlockWiedemann.
template<class ResultVector , class Matrix , class Vector >
ResultVector & solve (ResultVector &x, const Matrix &A, const Vector &b, const RingCategories::ModularTag &tag, const Method::BlockWiedemann &m)
Solve specialisation for BlockWiedemann with ModularTag.
template<class ResultVector , class Matrix , class Vector , class CategoryTag >
ResultVector & solve (ResultVector &x, const Matrix &A, const Vector &b, const CategoryTag &tag, const Method::Coppersmith &m)
Solve specialisation for Coppersmith.
template<class ResultVector , class Matrix , class Vector >
ResultVector & solve (ResultVector &x, const Matrix &A, const Vector &b, const RingCategories::ModularTag &tag, const Method::Coppersmith &m)
Solve specialisation for Coppersmith on ModularTag.
template<class BB >
BB::Field::Element & trace (typename BB::Field::Element &t, const BB &A)
Sum of the eigenvalues. More...
template<class Blackbox , class MyMethod >
Blackbox::Field::Element & valence (typename Blackbox::Field::Element &v, const Blackbox &A, const MyMethod &M)
Compute the valence of A. More...
uint64_t serialize (std::vector< uint8_t > &bytes, const Integer &integer )
Serializes an Integer with its underlying __mpz_struct. More...
uint64_t unserialize (Integer &integer , const std::vector< uint8_t > &bytes, uint64_t offset=0u)
Unserializes an Integer.
template<class Field >
uint64_t serialize (std::vector< uint8_t > &bytes, const BlasMatrix < Field > &M)
Serializes a BlasMatrix . More...
template<class Field >
uint64_t unserialize (BlasMatrix < Field > &M, const std::vector< uint8_t > &bytes, uint64_t offset=0u)
Unserializes a BlasMatrix . More...
template<class Field >
uint64_t serialize (std::vector< uint8_t > &bytes, const SparseMatrix< Field > &M)
Serializes a SparseMatrix. More...
template<class Field >
uint64_t unserialize (SparseMatrix< Field > &M, const std::vector< uint8_t > &bytes, uint64_t offset=0u)
Unserializes a SparseMatrix. More...
template<class Field >
uint64_t serialize (std::vector< uint8_t > &bytes, const BlasVector< Field > &V)
Serializes a BlasVector. More...
template<class Field >
uint64_t unserialize (BlasVector< Field > &V, const std::vector< uint8_t > &bytes, uint64_t offset=0u)
Unserializes a BlasVector. More...
template<class Field >
std::ostream & writeMMComment (std::ostream &os, Field &F, std::string name, std::string comment)
Write second line and comment part of matrix market header.
template<class BB >
std::ostream & writeMMCoordHeader (std::ostream &os, BB &A, size_t nnz, std::string name, std::string comment="")
Write matrix market header (up to the i,j,val lines) for a sparse or structured matrix.
template<class BB >
std::ostream & writeMMPatternHeader (std::ostream &os, BB &A, size_t nnz, std::string name, std::string comment="")
Write matrix market header (up to the i,j lines) for a {0,1} sparse or structured matrix.
template<class BB >
std::ostream & writeMMArrayHeader (std::ostream &os, BB &A, std::string name, std::string comment="")
Write matrix market header (up to the entry lines) for a dense matrix.
template<class Mat >
std::ostream & writeMMArray (std::ostream &os, Mat &A, std::string name, std::string comment="")
Generic dense matrix writer to matrix market array format (col major).
std::string eltype (float x)
eltype(x) returns a string containing the name of the type of field or ring element x.
template<class Field , class Vector >
Vector randomVector (Field &F, size_t n, typename Field::RandIter &r)
Random vector generator This templated function takes a field and a random field element generator and returns a vector of random field elements. More...
template<class Ring , class Matrix >
Matrix & randomAns (const Ring &R, Matrix &Mat , size_t n, size_t epr)
size_t & RandIntInInt (const size_t &s, size_t &RIII, const int &seed=0)
gives a random number such that . More...
void RandomPermutation (size_t *P, const size_t &len)
Creates a random Lapack style Permutation P
of size len
.
template<class Field >
bool CheckRank (const Field &F, const typename Field ::Element *A, const size_t &m, const size_t &n, const size_t &lda, const size_t &alledged_rank)
Checks we got the right rank. More...
template<class Field >
void RandomMatrixWithRank (const Field &F, typename Field ::Element *A, const size_t &m, const size_t &n, const size_t &lda, const size_t &rank )
Builds a m
x n
random matrix of rank rank
over field F
.
template<class Field >
void RandomMatrixWithDet (const Field &F, typename Field ::Element *A, const size_t &m, const size_t &lda, const typename Field ::Element &det )
Builds a m
x m
random matrix of determinant det
over field F
. More...
void showAdvanceLinear (size_t curr, size_t min, size_t max)
show the advancement (on the terminal) suppose linear advancement More...
void showFinish (size_t curr, size_t all)
tells the current series of measure has completed (on the terminal) More...
void showSkip (size_t curr, size_t all)
tells the current series of measure was skipped (on the terminal) More...
double computeMFLOPS (const double &tim, const double mflo, const size_t rpt=1)
computes the number of megaflops. More...
double computeMFLOPS (const dvector_t &tim, const double mflo, Tag::TimeSelect ts=Tag::TimeSelect::bestThree )
computes the number of megaflops. More...
bool isDigit (const std::string &s)
Check if a string is actually a double. More...
bool fortifiedString (const std::string &s)
Tells is a string has double quotes around. More...
std::string unfortifyString (const std::string &s)
removes the surrounding quotes. More...
std::string fortifyString (const std::string &s)
adds surrounding quotes. More...
std::string getDateTime (const std::string &sep)
get ISO time and date More...
smatrix_t getMachineInformation ()
get some machine information (not cpu yet)
template<class T >
std::string toString (T &nam)
Converts anything to a string. More...
bool findKeyword (size_t &i, const svector_t::const_iterator &begin, const svector_t::const_iterator &end, const std::string &keyword)
finds keyword betwen begin and end, return true if found and i is the index where it is (possibly correspondig to end)
double fit2 (const dvector_t &X, const dvector_t &Y, int n, double x)
fit X[n-1,n],Y[n-1,n] and return evaluation at x.
double fit3 (const dvector_t &X, const dvector_t &Y, int n, double x)
fit X[n-2,n],Y[n-2,n] and return evaluation at x.
Butterfly preconditioner and supporting function
std::vector< bool > setButterfly (const std::vector< bool > &x, size_t j=0)
A function used with Butterfly Blackbox Matrices. More...