linbox  1
Public Member Functions
Dif< _Blackbox1, _Blackbox2 > Class Template Reference

Blackbox of a difference: C := A - B, i.e. Cx = Ax - Bx. More...

#include <dif.h>

Inheritance diagram for Dif< _Blackbox1, _Blackbox2 >:
BlackboxInterface

List of all members.

Public Member Functions

 Dif (const Blackbox1 &A, const Blackbox2 &B)
 Dif (const Blackbox1 *A_ptr, const Blackbox2 *B_ptr)
 Dif (const Dif< Blackbox1, Blackbox2 > &M)
 ~Dif (void)
 Destructor.
template<class OutVector , class InVector >
OutVector & apply (OutVector &y, const InVector &x) const
template<class OutVector , class InVector >
OutVector & applyTranspose (OutVector &y, const InVector &x) const
size_t rowdim (void) const
size_t coldim (void) const

Detailed Description

template<class _Blackbox1, class _Blackbox2>
class LinBox::Dif< _Blackbox1, _Blackbox2 >

Blackbox of a difference: C := A - B, i.e. Cx = Ax - Bx.

{ Template parameters:} Field is the class of the entry domain, Vector is a LinBox dense or sparse vector of field elements class.


Constructor & Destructor Documentation

Dif ( const Blackbox1 &  A,
const Blackbox2 &  B 
) [inline]

Build this as A - B from blackboxes A, B. A and B must have the same shape and be over the same field. Their data is not copied. A subsequent change to one of them also changes this difference.

Dif ( const Blackbox1 *  A_ptr,
const Blackbox2 *  B_ptr 
) [inline]

Build this as A - B from blackbox pointers A_ptr, B_ptr. The two matrices must have the same shape and be over the same field. Their data { is} copied. I don't know why.

Dif ( const Dif< Blackbox1, Blackbox2 > &  M) [inline]

Makes a deep copy. Creates new black box objects in dynamic memory.

Parameters:
Mconstant reference to compose black box matrix

Member Function Documentation

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

Application of BlackBox matrix. y= (A+B)*x. Requires one vector conforming to the LinBox} vector archetype. Required by abstract base class.

Returns:
reference to vector y containing output.
Parameters:
xconstant reference to vector to contain input
OutVector& applyTranspose ( OutVector &  y,
const InVector &  x 
) const [inline]

Application of BlackBox matrix transpose. y= transpose(A+B)*x. Requires one vector conforming to the LinBox} vector archetype. Required by abstract base class.

Returns:
reference to vector y containing output.
Parameters:
xconstant reference to vector to contain input
size_t rowdim ( void  ) const [inline]

Retreive row dimensions of BlackBox matrix. This may be needed for applying preconditioners. Required by abstract base class.

Returns:
integer number of rows of black box matrix.
size_t coldim ( void  ) const [inline]

Retreive column dimensions of BlackBox matrix. Required by abstract base class.

Returns:
integer number of columns of black box matrix.

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