linbox
dense-nullspace.inl File Reference
#include "linbox/matrix/dense-matrix.h"
#include "fflas-ffpack/ffpack/ffpack.h"
#include "fflas-ffpack/fflas/fflas.h"
#include <fflas-ffpack/utils/Matio.h>
#include <iostream>
#include <cassert>

Namespaces

namespace  LinBox
 Namespace in which all linbox code resides.
 
namespace  LinBox::Protected
 This is the namespace all LinBox internal code is in.
 

Functions

template<class Field>
void Zero (const Field &F, typename Field::Element *Z, const size_t ldZ, const size_t lig1, const size_t col1, const size_t lig2, const size_t col2)
 
template<class Field>
void Identity (const Field &F, typename Field::Element *Id, const size_t ldI, const size_t lig1, const size_t col1, const size_t lig2, const size_t col2)
 Creates identity matrix in F of size dim1 x dim2.
 
template<class Field>
Field::Element * RightNullspaceDirect (const Field &F, typename Field::Element *A, const size_t &M, const size_t &N, const size_t &lda, size_t &ker_dim)
 The right or left nullspace (kernel or cokernel) of a matrix A We use the LU decomposition.
 
template<class Field>
Field::Element * RightNullspaceIndirect (const Field &F, typename Field::Element *A, const size_t &M, const size_t &N, const size_t &lda, size_t &ker_dim)
 
template<class Field>
Field::Element * LeftNullspaceIndirect (const Field &F, typename Field::Element *A, const size_t &M, const size_t &N, const size_t &lda, size_t &coker_dim)
 
template<class Field>
Field::Element * LeftNullspaceDirect (const Field &F, typename Field::Element *A, const size_t &M, const size_t &N, const size_t &lda, size_t &coker_dim)
 
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.
 
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 & NullSpaceBasisIn (const Tag::Side Side, BlasMatrix< Field > &A, BlasMatrix< Field > &Ker, size_t &kerdim)
 Nullspace of a dense matrix on a finite field.
 
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.
 
template<class DenseMat>
size_t & NullSpaceBasis (const Tag::Side Side, const BlasSubmatrix< DenseMat > &A, BlasMatrix< typename DenseMat::Field > &Ker, size_t &kerdim)