linbox  1
Public Member Functions
ScalarMatrix< _Field > Class Template Reference

Blackbox for aI. Use particularly for representing 0 and I. More...

#include <scalar-matrix.h>

Inheritance diagram for ScalarMatrix< _Field >:
BlackboxInterface

List of all members.

Public Member Functions

 ScalarMatrix ()
 Constructs an initially 0 by 0 matrix.
 ScalarMatrix (const Field &F, const size_t n, const Element &s)
 ScalarMatrix (const Field &F, const size_t n, const typename Field::RandIter &iter)
template<class OutVector , class InVector >
OutVector & apply (OutVector &y, InVector &x) const
template<class OutVector , class InVector >
OutVector & applyTranspose (OutVector &y, InVector &x) const

Detailed Description

template<class _Field>
class LinBox::ScalarMatrix< _Field >

Blackbox for aI. Use particularly for representing 0 and I.

This is a class of blackbox square scalar matrices. Each scalar matrix occupies O(scalar-size) memory. The matrix itself is not stored in memory, just the scalar and the dimensions.


Constructor & Destructor Documentation

ScalarMatrix ( const Field &  F,
const size_t  n,
const Element &  s 
) [inline]

Scalar matrix Constructor from an element.

Parameters:
Ffield in which to do arithmetic.
nsize of the matrix.
sscalar, a field element, to be used as the diagonal of the matrix.
ScalarMatrix ( const Field &  F,
const size_t  n,
const typename Field::RandIter &  iter 
) [inline]

Constructor from a random element.

Parameters:
Ffield in which to do arithmetic.
nsize of the matrix.
iterRandom iterator from which to get the diagonal scalar element.

Member Function Documentation

OutVector& apply ( OutVector &  y,
InVector &  x 
) const [inline]

Application of BlackBox matrix. y= A*x. Requires time linear in n, the size of the matrix.

OutVector& applyTranspose ( OutVector &  y,
InVector &  x 
) const [inline]

Application of BlackBox matrix transpose. y= transpose(A)*x. Requires time linear in n, the size of the matrix.


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