linbox
BlackboxContainerSymmetrize< Field, _Blackbox, RandIter > Class Template Reference

Symmetrizing iterator (for rank computations). More...

#include <blackbox-container-symmetrize.h>

+ Inheritance diagram for BlackboxContainerSymmetrize< Field, _Blackbox, RandIter >:

Public Types

typedef _Blackbox Blackbox
 
typedef Field::Element Element
 

Public Member Functions

 BlackboxContainerSymmetrize ()
 
template<class Vector>
 BlackboxContainerSymmetrize (const Blackbox *D, const Field &F, const Vector &u0)
 
 BlackboxContainerSymmetrize (const Blackbox *D, const Field &F, RandIter &g=typename Field::RandIter())
 
const_iterator begin ()
 
const_iterator end ()
 
long size () const
 
const FieldgetField () const
 
const Fieldfield () const
 
_Blackbox * getBB () const
 

Protected Member Functions

const Elementgetvalue ()
 
Elementinit (const Vector1 &uu, const Vector2 &vv)
 Initializers.
 
Elementinit (RandIter &g)
 Random Left vectors, Zero Right vector.
 
Elementinit (const Vector &uu)
 User Left vectors, Zero Right vector.
 

Protected Attributes

const Field_field
 Members.
 
VectorDomain< Field_VD
 
const _Blackbox * _BB
 
long _size
 
long casenumber
 
BlasVector< Fieldu
 
BlasVector< Fieldv
 
Element _value
 

Detailed Description

template<class Field, class _Blackbox, class RandIter = typename Field::RandIter>
class LinBox::BlackboxContainerSymmetrize< Field, _Blackbox, RandIter >

Symmetrizing iterator (for rank computations).

Symmetrizing iterator (for rank computations) Same left and right vector A is supposed to have tranpose-vector product the sequence is

this->u^t this->u
(A this->u)^t (A this->u) = this->u^t (A^t A) this->u
(A^t (A this->u))^t (A^t (A this->u)) = this->u^t (A^t A)^2 this->u
etc.
BlasVector< Field > u
Definition blackbox-container-base.h:130

Member Typedef Documentation

◆ Blackbox

template<class Field, class _Blackbox, class RandIter = typename Field::RandIter>
typedef _Blackbox Blackbox

◆ Element

typedef Field::Element Element
inherited

Constructor & Destructor Documentation

◆ BlackboxContainerSymmetrize() [1/3]

template<class Field, class _Blackbox, class RandIter = typename Field::RandIter>
BlackboxContainerSymmetrize ( )
inline

◆ BlackboxContainerSymmetrize() [2/3]

template<class Field, class _Blackbox, class RandIter = typename Field::RandIter>
template<class Vector>
BlackboxContainerSymmetrize ( const Blackbox * D,
const Field & F,
const Vector & u0 )
inline

◆ BlackboxContainerSymmetrize() [3/3]

template<class Field, class _Blackbox, class RandIter = typename Field::RandIter>
BlackboxContainerSymmetrize ( const Blackbox * D,
const Field & F,
RandIter & g = typename Field::RandIter() )
inline

Member Function Documentation

◆ begin()

const_iterator begin ( )
inlineinherited

◆ end()

const_iterator end ( )
inlineinherited

◆ size()

long size ( ) const
inlineinherited

◆ getField()

const Field & getField ( ) const
inlineinherited

◆ field()

const Field & field ( ) const
inlineinherited

◆ getBB()

_Blackbox * getBB ( ) const
inlineinherited

◆ getvalue()

const Element & getvalue ( )
inlineprotectedinherited

◆ init() [1/3]

Element & init ( const Vector1 & uu,
const Vector2 & vv )
inlineprotectedinherited

Initializers.

User Left and Right vectors

◆ init() [2/3]

Element & init ( RandIter & g)
inlineprotectedinherited

Random Left vectors, Zero Right vector.

◆ init() [3/3]

Element & init ( const Vector & uu)
inlineprotectedinherited

User Left vectors, Zero Right vector.

Field Documentation

◆ _field

const Field* _field
protectedinherited

Members.

◆ _VD

VectorDomain<Field> _VD
protectedinherited

◆ _BB

const _Blackbox* _BB
protectedinherited

◆ _size

long _size
protectedinherited

◆ casenumber

long casenumber
protectedinherited

◆ u

BlasVector<Field> u
protectedinherited

◆ v

BlasVector<Field> v
protectedinherited

◆ _value

Element _value
protectedinherited

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