linbox
smith-form.h File Reference
#include <list>
#include <vector>
#include <iterator>
#include "linbox/util/error.h"
#include "linbox/algorithms/matrix-hom.h"
#include "linbox/algorithms/smith-form-adaptive.h"
#include "givaro/zring.h"

Namespaces

namespace  LinBox
 Namespace in which all linbox code resides.
 

Typedefs

template<typename PIR>
using SmithPair = std::pair<typename PIR::Element,size_t>
 
template<typename PIR>
using SmithList = std::list<SmithPair<PIR>>
 

Functions

template<class Ring, class Vector>
SmithList< Ring > & compressedSmith (SmithList< Ring > &c, const Vector &SmithDiagonal, const Ring &R, const size_t m, const size_t n)
 
template<class Ring>
SmithList< Ring > & compressedSmith (SmithList< Ring > &c, const BlasVector< Ring > &v)
 
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.
 
template<class Blackbox, class Method>
BlasVector< typename Blackbox::Field > & smithForm (BlasVector< typename Blackbox::Field > &V, const Blackbox &A, const Method &M)
 
template<class Blackbox>
SmithList< typename Blackbox::Field > & smithForm (SmithList< typename Blackbox::Field > &S, const Blackbox &A)
 
template<class Blackbox>
BlasVector< typename Blackbox::Field > & smithForm (BlasVector< typename Blackbox::Field > &V, const Blackbox &A)
 
SmithList< Givaro::ZRing< Integer > > & smithForm (SmithList< Givaro::ZRing< Integer > > &S, const BlasMatrix< Givaro::ZRing< Integer > > &A, const RingCategories::IntegerTag &tag, const Method::Auto &M)
 
BlasVector< typename Givaro::ZRing< Integer > > & smithForm (BlasVector< typename Givaro::ZRing< Integer > > &V, const BlasMatrix< Givaro::ZRing< Integer > > &A, const RingCategories::IntegerTag &tag, const Method::Auto &M)