Package edu.jas.vector
Class BasicLinAlg<C extends RingElem<C>>
- java.lang.Object
-
- edu.jas.vector.BasicLinAlg<C>
-
- Type Parameters:
C- coefficient type
- All Implemented Interfaces:
java.io.Serializable
public class BasicLinAlg<C extends RingElem<C>> extends java.lang.Object implements java.io.Serializable
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
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description BasicLinAlg()Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanisZero(java.util.List<C> a)Test vector of zero ring elements.GenVector<C>leftProduct(GenVector<C> G, GenMatrix<C> F)Product of a vector and a matrix of 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.GenVector<C>rightProduct(GenVector<C> G, GenMatrix<C> F)Product of a vector 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.CscalarProduct(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.
-
-
-
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.
-
leftProduct
public GenVector<C> leftProduct(GenVector<C> G, GenMatrix<C> F)
Product of a vector and a matrix of ring elements.- Parameters:
G- a vectors of ring elements.F- a matrix of ring element lists.- Returns:
- the left product of G and F.
-
-