Diagonal< Field, Trait > Class Template Reference

Random diagonal matrices are used heavily as preconditioners. More...

#include <diagonal.h>

Detailed Description

template<class Field, class Trait = typename VectorTraits<typename LinBox::Vector<Field>::Dense>::VectorCategory>
class LinBox::Diagonal< Field, Trait >

Random diagonal matrices are used heavily as preconditioners.

This is a class of $n \times n$ diagonal matrices templatized by the field in which the elements reside. The class conforms to the BlackboxArchetype.

The matrix itself is not stored in memory. Rather, its apply methods use a vector of field elements, which are used to "multiply" the matrix to a vector.

This class has two template parameters. The first is the field in which the arithmetic is to be done. The second is the vector trait indicating dense or sparse vector interface (dense by default). This class is then specialized for dense and sparse vectors.

The default class is not implemented. It's functions should never be called because partial template specialization should always be done on the vector traits.

FieldLinBox field.
TraitMarker whether to use dense or sparse LinBox vector implementation. This is chosen by a default parameter and partial template specialization.

The documentation for this class was generated from the following file: