edu.jas.vector
Class BasicLinAlg<C extends RingElem<C>>

java.lang.Object
  extended by edu.jas.vector.BasicLinAlg<C>
Type Parameters:
C - coefficient type

public class BasicLinAlg<C extends RingElem<C>>
extends java.lang.Object

Basic linear algebra methods. Implements Basic linear algebra computations and tests. Note: will use wrong method dispatch in JRE when used with GenSolvablePolynomial.

Author:
Heinz Kredel

Constructor Summary
BasicLinAlg()
          Constructor.
 
Method Summary
 boolean isZero(java.util.List<C> a)
          Test vector of zero ring elements.
 java.util.List<C> leftScalarProduct(java.util.List<C> G, java.util.List<java.util.List<C>> F)
          Scalar product of vectors and a matrix of ring elements.
 java.util.List<C> rightScalarProduct(java.util.List<C> G, java.util.List<java.util.List<C>> F)
          Scalar product of vectors and a matrix of ring elements.
 java.util.List<C> scalarProduct(C p, java.util.List<C> F)
          Scalar product of ring element with vector of ring elements.
 java.util.List<C> scalarProduct(java.util.List<C> F, C p)
          Scalar product of vector of ring element with ring element.
 C scalarProduct(java.util.List<C> G, java.util.List<C> F)
          Scalar product of vectors of ring elements.
 java.util.List<C> vectorAdd(java.util.List<C> a, java.util.List<C> b)
          Addition of vectors of ring elements.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BasicLinAlg

public BasicLinAlg()
Constructor.

Method Detail

scalarProduct

public C scalarProduct(java.util.List<C> G,
                       java.util.List<C> F)
Scalar product of vectors of ring elements.

Parameters:
G - a ring element list.
F - a ring element list.
Returns:
the scalar product of G and F.

leftScalarProduct

public java.util.List<C> leftScalarProduct(java.util.List<C> G,
                                           java.util.List<java.util.List<C>> F)
Scalar product of vectors and a matrix of ring elements.

Parameters:
G - a ring element list.
F - a list of ring element lists.
Returns:
the scalar product of G and F.

rightScalarProduct

public java.util.List<C> rightScalarProduct(java.util.List<C> G,
                                            java.util.List<java.util.List<C>> F)
Scalar product of vectors and a matrix of ring elements.

Parameters:
G - a ring element list.
F - a list of ring element lists.
Returns:
the right scalar product of G and F.

vectorAdd

public java.util.List<C> vectorAdd(java.util.List<C> a,
                                   java.util.List<C> b)
Addition of vectors of ring elements.

Parameters:
a - a ring element list.
b - a ring element list.
Returns:
a+b, the vector sum of a and b.

isZero

public boolean isZero(java.util.List<C> a)
Test vector of zero ring elements.

Parameters:
a - a ring element list.
Returns:
true, if all polynomial in a are zero, else false.

scalarProduct

public java.util.List<C> scalarProduct(C p,
                                       java.util.List<C> F)
Scalar product of ring element with vector of ring elements.

Parameters:
p - a ring element.
F - a ring element list.
Returns:
the scalar product of p and F.

scalarProduct

public java.util.List<C> scalarProduct(java.util.List<C> F,
                                       C p)
Scalar product of vector of ring element with ring element.

Parameters:
F - a ring element list.
p - a ring element.
Returns:
the scalar product of F and p.