Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

ImageField Class Template Reference

#include <image-field.h>

List of all members.


Detailed Description

template<class Source, class Target>
class LinBox::ImageField< Source, Target >

ImageFields are fields which are targets of a ring homomorphism from a source ring. Usually the source ring is ZZ or another field. The ImageField can be viewed as a module over the source ring. Hence we could think of the source as the scalar domain. Thus a mul of a source element times a image element can be thought of as a scalar multiplication and we call the op smul(). Often this can be done faster than taking the image of the scalar and multiplying in the image field.

ImageFields provide smul() and saxpy() as well as the image() and preimage() maps of the homomorphism.

The generic default is to build the ImageField functions directly from a Hom object, but the intention is to provide efficient specializations for specific cases.

Issues abound. How do we convey that the scalars are small so a implementation of a modular image can be efficient in that case?


Public Methods

 ImageField ()
 ImageField (Hom< Source, Target > nat)
 ImageField (Source &S, Target &T)
Eltimage (Elt &t, const SrcElt &s)
SrcEltpreimage (SrcElt &s, const Elt &t)
Eltsmul (Elt &y, const SrcElt &a, const Elt &x)
 y <-- a*x

Eltsmulin (Elt &x, const SrcElt &a)
 x <-- a*x

Eltsaxpy (Elt &z, const SrcElt &a, const Elt &x, const Elt &y)
 z <-- a*x + y

Eltsaxpyin (Elt &y, const SrcElt &a, const Elt &x)
 y <-- a*x + y


Protected Types

typedef Target::Element Elt
typedef Source::Element SrcElt

Protected Attributes

Hom< Source, Target > _nat


Member Typedef Documentation

typedef Target::Element Elt [protected]
 

typedef Source::Element SrcElt [protected]
 


Constructor & Destructor Documentation

ImageField   [inline]
 

ImageField Hom< Source, Target >    nat [inline]
 

ImageField Source &    S,
Target &    T
[inline]
 


Member Function Documentation

Elt& image Elt   t,
const SrcElt   s
[inline]
 

SrcElt& preimage SrcElt   s,
const Elt   t
[inline]
 

Elt& saxpy Elt   z,
const SrcElt   a,
const Elt   x,
const Elt   y
[inline]
 

z <-- a*x + y

Elt& saxpyin Elt   y,
const SrcElt   a,
const Elt   x
[inline]
 

y <-- a*x + y

Elt& smul Elt   y,
const SrcElt   a,
const Elt   x
[inline]
 

y <-- a*x

Elt& smulin Elt   x,
const SrcElt   a
[inline]
 

x <-- a*x


Member Data Documentation

Hom<Source, Target> _nat [protected]
 


Generated on Mon Jun 20 09:16:54 2005 for linbox by doxygen1.2.18