public abstract class AbstractMatrixField extends java.lang.Object implements MatrixFieldI
GenericMatrixField
should be used. This class is for case when the matrix does not implement
GenericMatrix such as an
double[][].| Modifier and Type | Field and Description |
|---|---|
protected MatrixFactoryI |
mf |
| Constructor and Description |
|---|
AbstractMatrixField(MatrixFactoryI mf)
Construction
|
AbstractMatrixField(MatrixFactoryI mf,
boolean skipElements)
Constructor where operations on the base field can be switched off.
|
| Modifier and Type | Method and Description |
|---|---|
java.lang.Object |
add(java.lang.Object l,
java.lang.Object r)
Adds two matrices or vectors.
|
protected abstract java.lang.Object |
addEle(java.lang.Object l,
java.lang.Object r) |
protected abstract MatrixI |
addMM(MatrixI l,
MatrixI r) |
protected abstract VectorI |
addVV(VectorI lv,
VectorI rv)
Add two vectors
|
java.lang.Boolean |
and(java.lang.Object l,
java.lang.Object r)
Logical and.
|
protected abstract java.lang.Boolean |
andEle(java.lang.Object l,
java.lang.Object r) |
java.lang.Object |
cross(java.lang.Object l,
java.lang.Object r)
Default inefficient implementation.
|
protected java.lang.Object |
crossVV(VectorI lv,
VectorI rv)
Default inefficient implementation.
|
java.lang.Object |
det(java.lang.Object m)
Determinant of a matrix
|
protected java.lang.Object |
detM(MatrixI mat)
Return the determinant of a matrix.
|
java.lang.Object |
div(java.lang.Object l,
java.lang.Object r)
Divides two members of the field.
|
protected abstract java.lang.Object |
divEle(java.lang.Object l,
java.lang.Object r) |
protected abstract MatrixI |
divMO(MatrixI l,
java.lang.Object r) |
protected abstract VectorI |
divVO(VectorI l,
java.lang.Object r) |
java.lang.Object |
dot(java.lang.Object l,
java.lang.Object r)
The dot product of two vectors
|
protected java.lang.Object |
dotVV(VectorI lv,
VectorI rv)
Default inefficient implementation.
|
java.lang.Boolean |
eq(java.lang.Object l,
java.lang.Object r)
Equals
|
protected abstract java.lang.Boolean |
eqEle(java.lang.Object l,
java.lang.Object r) |
protected abstract java.lang.Boolean |
eqMM(MatrixI l,
MatrixI r) |
protected abstract java.lang.Boolean |
eqVV(VectorI l,
VectorI r) |
java.lang.Boolean |
ge(java.lang.Object l,
java.lang.Object r)
Greater or equal to
|
protected abstract java.lang.Boolean |
geEle(java.lang.Object l,
java.lang.Object r) |
java.lang.Boolean |
gt(java.lang.Object l,
java.lang.Object r)
Greater than
|
protected abstract java.lang.Boolean |
gtEle(java.lang.Object l,
java.lang.Object r) |
java.lang.Object |
inv(java.lang.Object l)
Returns the inverse of a square matrix.
|
protected MatrixI |
invM(MatrixI mat)
Finds the inverse of a matrix.
|
java.lang.Boolean |
le(java.lang.Object l,
java.lang.Object r)
Less than or equals to
|
protected abstract java.lang.Boolean |
leEle(java.lang.Object l,
java.lang.Object r) |
java.lang.Boolean |
lt(java.lang.Object l,
java.lang.Object r)
Less than
|
protected abstract java.lang.Boolean |
ltEle(java.lang.Object l,
java.lang.Object r) |
protected MatrixI |
minor(MatrixI m,
int row,
int col)
Finds the minor matrix formed by excluding a row and vector
|
java.lang.Object |
mod(java.lang.Object l,
java.lang.Object r)
The modulus of two members of the field.
|
protected abstract java.lang.Object |
modEle(java.lang.Object l,
java.lang.Object r) |
java.lang.Object |
mul(java.lang.Object l,
java.lang.Object r)
Multiplies two members of the field.
|
protected abstract java.lang.Object |
mulEle(java.lang.Object l,
java.lang.Object r) |
protected abstract MatrixI |
mulMM(MatrixI l,
MatrixI r) |
protected abstract MatrixI |
mulMO(MatrixI l,
java.lang.Object r) |
protected abstract VectorI |
mulMV(MatrixI l,
VectorI r) |
protected void |
mulRow(MatrixI m,
int row,
java.lang.Object mul)
In place multiply all elements of a row by a number
|
protected abstract VectorI |
mulVM(VectorI l,
MatrixI r) |
protected abstract VectorI |
mulVO(VectorI l,
java.lang.Object r) |
protected abstract MatrixI |
mulVV(VectorI l,
VectorI r) |
java.lang.Boolean |
ne(java.lang.Object l,
java.lang.Object r)
Not Equals
|
protected abstract java.lang.Boolean |
neEle(java.lang.Object l,
java.lang.Object r) |
java.lang.Object |
neg(java.lang.Object l)
The negation -x of an element.
|
protected abstract java.lang.Object |
negEle(java.lang.Object l) |
protected abstract MatrixI |
negM(MatrixI l) |
protected abstract VectorI |
negV(VectorI lv) |
protected abstract java.lang.Boolean |
neMM(MatrixI l,
MatrixI r) |
protected abstract java.lang.Boolean |
neVV(VectorI l,
VectorI r) |
java.lang.Boolean |
not(java.lang.Object l)
Logical not.
|
protected abstract java.lang.Boolean |
notEle(java.lang.Object l) |
java.lang.Boolean |
or(java.lang.Object l,
java.lang.Object r)
Logical or.
|
protected abstract java.lang.Boolean |
orEle(java.lang.Object l,
java.lang.Object r) |
java.lang.Object |
pow(java.lang.Object l,
java.lang.Object r)
The power operator.
|
protected abstract java.lang.Object |
powEle(java.lang.Object l,
java.lang.Object r) |
java.lang.Object |
solve(java.lang.Object A,
java.lang.Object B)
Solve equation A * X = B
|
protected MatrixI |
solveMM(MatrixI A,
MatrixI b) |
protected VectorI |
solveMV(MatrixI A,
VectorI b) |
java.lang.Object |
sub(java.lang.Object l,
java.lang.Object r)
Subtract two members of the field.
|
protected abstract java.lang.Object |
subEle(java.lang.Object l,
java.lang.Object r) |
protected abstract MatrixI |
subMM(MatrixI l,
MatrixI r) |
protected void |
subtractMul(MatrixI m,
int targetRow,
int sourceRow,
java.lang.Object mul)
In place Subtract a multiply of the source row from the target
m(t,j) = m(t,j) - mul * m(s,j) |
protected abstract VectorI |
subVV(VectorI lv,
VectorI rv) |
protected void |
swapRows(MatrixI m,
int i,
int j)
In place swap of two rows
|
java.lang.Object |
trace(java.lang.Object l)
Trace of a matrix
|
java.lang.Object |
traceM(MatrixI m)
Default inefficient implementation.
|
java.lang.Object |
trans(java.lang.Object l)
Transpose of a matrix
|
protected java.lang.Object |
transM(MatrixI mat) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitconvertFromInt, convertToIntgetLightWeightInstance, initprotected MatrixFactoryI mf
public AbstractMatrixField(MatrixFactoryI mf)
mf - corresponding matrix factorypublic AbstractMatrixField(MatrixFactoryI mf, boolean skipElements)
mf - The factory used to generate matricesskipElements - whether to skip operations on the base elementsprotected abstract java.lang.Object addEle(java.lang.Object l,
java.lang.Object r)
throws EvaluationException
EvaluationExceptionprotected abstract VectorI addVV(VectorI lv, VectorI rv) throws EvaluationException
lv - lhs vectorrv - rhs vectorEvaluationException - if the dimension do not matchprotected abstract MatrixI addMM(MatrixI l, MatrixI r) throws EvaluationException
EvaluationExceptionpublic java.lang.Object add(java.lang.Object l,
java.lang.Object r)
throws EvaluationException
addVV(VectorI, VectorI) or addMM(MatrixI, MatrixI)
depending on the arguments.add in interface FieldIl - left hand argumentr - right hand argumentEvaluationException - on errorprotected abstract java.lang.Object subEle(java.lang.Object l,
java.lang.Object r)
throws EvaluationException
EvaluationExceptionprotected abstract VectorI subVV(VectorI lv, VectorI rv) throws EvaluationException
EvaluationExceptionprotected abstract MatrixI subMM(MatrixI l, MatrixI r) throws EvaluationException
EvaluationExceptionpublic java.lang.Object sub(java.lang.Object l,
java.lang.Object r)
throws EvaluationException
FieldIsub in interface FieldIl - left hand argumentr - right hand argumentEvaluationException - on errorprotected abstract java.lang.Object negEle(java.lang.Object l)
throws EvaluationException
EvaluationExceptionprotected abstract VectorI negV(VectorI lv) throws EvaluationException
EvaluationExceptionprotected abstract MatrixI negM(MatrixI l) throws EvaluationException
EvaluationExceptionpublic java.lang.Object neg(java.lang.Object l)
throws EvaluationException
FieldIneg in interface FieldIl - the argumentEvaluationException - on errorprotected abstract java.lang.Object mulEle(java.lang.Object l,
java.lang.Object r)
throws EvaluationException
EvaluationExceptionprotected abstract VectorI mulVO(VectorI l, java.lang.Object r) throws EvaluationException
EvaluationExceptionprotected abstract MatrixI mulMO(MatrixI l, java.lang.Object r) throws EvaluationException
EvaluationExceptionprotected abstract MatrixI mulVV(VectorI l, VectorI r) throws EvaluationException
EvaluationExceptionprotected abstract VectorI mulVM(VectorI l, MatrixI r) throws EvaluationException
EvaluationExceptionprotected abstract VectorI mulMV(MatrixI l, VectorI r) throws EvaluationException
EvaluationExceptionprotected abstract MatrixI mulMM(MatrixI l, MatrixI r) throws EvaluationException
EvaluationExceptionpublic java.lang.Object mul(java.lang.Object l,
java.lang.Object r)
throws EvaluationException
FieldImul in interface FieldIl - left hand argumentr - right hand argumentEvaluationException - on errorprotected abstract java.lang.Object divEle(java.lang.Object l,
java.lang.Object r)
throws EvaluationException
EvaluationExceptionprotected abstract VectorI divVO(VectorI l, java.lang.Object r) throws EvaluationException
EvaluationExceptionprotected abstract MatrixI divMO(MatrixI l, java.lang.Object r) throws EvaluationException
EvaluationExceptionpublic java.lang.Object div(java.lang.Object l,
java.lang.Object r)
throws EvaluationException
FieldIdiv in interface FieldIl - left hand argumentr - right hand argumentEvaluationException - on errorprotected abstract java.lang.Object modEle(java.lang.Object l,
java.lang.Object r)
throws EvaluationException
EvaluationExceptionpublic java.lang.Object mod(java.lang.Object l,
java.lang.Object r)
throws EvaluationException
FieldImod in interface FieldIl - left hand argumentr - right hand argumentEvaluationException - on errorprotected abstract java.lang.Object powEle(java.lang.Object l,
java.lang.Object r)
throws EvaluationException
EvaluationExceptionpublic java.lang.Object pow(java.lang.Object l,
java.lang.Object r)
throws EvaluationException
FieldIpow in interface FieldIl - left hand argumentr - right hand argumentEvaluationException - on errorprotected abstract java.lang.Boolean eqEle(java.lang.Object l,
java.lang.Object r)
throws EvaluationException
EvaluationExceptionprotected abstract java.lang.Boolean eqVV(VectorI l, VectorI r) throws EvaluationException
EvaluationExceptionprotected abstract java.lang.Boolean eqMM(MatrixI l, MatrixI r) throws EvaluationException
EvaluationExceptionpublic java.lang.Boolean eq(java.lang.Object l,
java.lang.Object r)
throws EvaluationException
FieldIeq in interface FieldIl - left hand argumentr - right hand argumentEvaluationException - on errorprotected abstract java.lang.Boolean neEle(java.lang.Object l,
java.lang.Object r)
throws EvaluationException
EvaluationExceptionprotected abstract java.lang.Boolean neVV(VectorI l, VectorI r) throws EvaluationException
EvaluationExceptionprotected abstract java.lang.Boolean neMM(MatrixI l, MatrixI r) throws EvaluationException
EvaluationExceptionpublic java.lang.Boolean ne(java.lang.Object l,
java.lang.Object r)
throws EvaluationException
FieldIne in interface FieldIl - left hand argumentr - right hand argumentEvaluationException - on errorprotected abstract java.lang.Boolean andEle(java.lang.Object l,
java.lang.Object r)
throws EvaluationException
EvaluationExceptionpublic java.lang.Boolean and(java.lang.Object l,
java.lang.Object r)
throws EvaluationException
FieldIand in interface FieldIl - left hand argument implimentationr - right hand argumentEvaluationException - on errorprotected abstract java.lang.Boolean orEle(java.lang.Object l,
java.lang.Object r)
throws EvaluationException
EvaluationExceptionpublic java.lang.Boolean or(java.lang.Object l,
java.lang.Object r)
throws EvaluationException
FieldIor in interface FieldIl - left hand argumentr - right hand argumentEvaluationException - on errorprotected abstract java.lang.Boolean notEle(java.lang.Object l)
throws EvaluationException
EvaluationExceptionpublic java.lang.Boolean not(java.lang.Object l)
throws EvaluationException
FieldInot in interface FieldIl - argumentEvaluationException - on errorprotected abstract java.lang.Boolean gtEle(java.lang.Object l,
java.lang.Object r)
throws EvaluationException
EvaluationExceptionpublic java.lang.Boolean gt(java.lang.Object l,
java.lang.Object r)
throws EvaluationException
FieldIgt in interface FieldIl - left hand argumentr - right hand argumentEvaluationException - on errorprotected abstract java.lang.Boolean geEle(java.lang.Object l,
java.lang.Object r)
throws EvaluationException
EvaluationExceptionpublic java.lang.Boolean ge(java.lang.Object l,
java.lang.Object r)
throws EvaluationException
FieldIge in interface FieldIl - left hand argumentr - right hand argumentEvaluationException - on errorprotected abstract java.lang.Boolean ltEle(java.lang.Object l,
java.lang.Object r)
throws EvaluationException
EvaluationExceptionpublic java.lang.Boolean lt(java.lang.Object l,
java.lang.Object r)
throws EvaluationException
FieldIlt in interface FieldIl - left hand argumentr - right hand argumentEvaluationException - on errorprotected abstract java.lang.Boolean leEle(java.lang.Object l,
java.lang.Object r)
throws EvaluationException
EvaluationExceptionpublic java.lang.Boolean le(java.lang.Object l,
java.lang.Object r)
throws EvaluationException
FieldIle in interface FieldIl - left hand argumentr - right hand argumentEvaluationException - on errorpublic java.lang.Object trans(java.lang.Object l)
throws EvaluationException
MatrixFieldItrans in interface MatrixFieldIl - the matrixEvaluationExceptionprotected java.lang.Object transM(MatrixI mat) throws EvaluationException
EvaluationExceptionpublic java.lang.Object dot(java.lang.Object l,
java.lang.Object r)
throws EvaluationException
MatrixFieldIdot in interface MatrixFieldIEvaluationExceptionprotected java.lang.Object dotVV(VectorI lv, VectorI rv) throws EvaluationException
lv - lhs vectorrv - rhs vectorEvaluationExceptionpublic java.lang.Object cross(java.lang.Object l,
java.lang.Object r)
throws EvaluationException
cross in interface MatrixFieldIEvaluationException - if vectors not of length 3protected java.lang.Object crossVV(VectorI lv, VectorI rv) throws EvaluationException
EvaluationExceptionpublic java.lang.Object traceM(MatrixI m) throws EvaluationException
EvaluationExceptionpublic java.lang.Object trace(java.lang.Object l)
throws EvaluationException
trace in interface MatrixFieldIl - the matrixEvaluationExceptionpublic java.lang.Object det(java.lang.Object m)
throws EvaluationException
det in interface MatrixFieldIm - the matrixEvaluationException - if matrix is not square.protected java.lang.Object detM(MatrixI mat) throws EvaluationException
mat - the matrixEvaluationExceptionprotected MatrixI minor(MatrixI m, int row, int col) throws EvaluationException
m - the matrixrow - row to removecol - column to removeEvaluationExceptionprotected void swapRows(MatrixI m, int i, int j) throws EvaluationException
m - matrixi - index of first rowj - index of second rowEvaluationExceptionprotected void mulRow(MatrixI m, int row, java.lang.Object mul) throws EvaluationException
m - the matrixrow - the row to multiplymul - value to multiply byEvaluationExceptionprotected void subtractMul(MatrixI m, int targetRow, int sourceRow, java.lang.Object mul) throws EvaluationException
m(t,j) = m(t,j) - mul * m(s,j)m - targetRow - sourceRow - mul - EvaluationExceptionprotected MatrixI invM(MatrixI mat) throws EvaluationException
mat - EvaluationException - if matrix is singularpublic java.lang.Object inv(java.lang.Object l)
throws EvaluationException
MatrixFieldIinv in interface MatrixFieldIl - the matrixEvaluationException - if matrix is not square or is singularprotected MatrixI solveMM(MatrixI A, MatrixI b) throws EvaluationException
EvaluationExceptionprotected VectorI solveMV(MatrixI A, VectorI b) throws EvaluationException
EvaluationExceptionpublic java.lang.Object solve(java.lang.Object A,
java.lang.Object B)
throws EvaluationException
MatrixFieldIsolve in interface MatrixFieldIA - a square matrixB - either a vector or matrix with same number of rows as AEvaluationException - if matrix is not square or is singularCopyright © 2018 Singular Systems http://www.singularsys.com/jep