|
Orbital library | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Polynomial
Polynomial p∈R[S] := R(S).
R(S) := ⊕s∈S R is the R-algebra of the magma S over R.
With S=Nn these are the multivariate polynomials in n variables. Of course, the multivariate polynomials are polynomials over polynomial rings:
ValueFactory.polynomial(Object)
,
ValueFactory.asPolynomial(Tensor)
,
"N. Bourbaki, Algebra III.2.6: Algebra of a magma, a monoid, a group.",
"N. Bourbaki, Algebra III.2.7: Free algebras."Nested Class Summary |
---|
Nested classes/interfaces inherited from interface orbital.math.functional.Function |
---|
Function.Composite |
Nested classes/interfaces inherited from interface orbital.logic.functor.Functor |
---|
Functor.Specification |
Nested classes/interfaces inherited from interface orbital.logic.functor.Functor |
---|
Functor.Specification |
Field Summary |
---|
Fields inherited from interface orbital.logic.functor.Function |
---|
callTypeDeclaration |
Method Summary | |
---|---|
Polynomial |
add(Polynomial b)
|
java.lang.Object |
apply(java.lang.Object a)
Evaluate this polynomial at a. |
Integer |
degree()
Get the total degree of this polynomial. |
int[] |
degrees()
Returns the multi-degree, i.e., the vector of partial degrees of this polynomial for the individual variables Xi. |
int |
degreeValue()
Get the (int value of the) degree of this polynomial. |
Arithmetic |
get(Arithmetic i)
Get the i-th coefficient. |
java.lang.Object |
indexSet()
Describes the index magma S of our polynomial ring R[S]. |
java.util.Iterator |
indices()
Returns an iterator over the (relevant) indices. |
java.util.ListIterator |
iterator()
Returns an iterator over all coefficients (up to degree). |
java.util.Iterator |
monomials()
Returns an iterator over our (relevant) monomials, i.e., pairs of (exponent, coefficient). |
Polynomial |
multiply(Polynomial b)
Multiplies two polynomials. |
int |
rank()
Get the rank of this polynomial, i.e., the number of distinct variables. |
Polynomial |
subtract(Polynomial b)
|
Methods inherited from interface orbital.math.functional.Function |
---|
derive, integrate |
Methods inherited from interface orbital.logic.functor.Functor |
---|
equals, hashCode, toString |
Methods inherited from interface orbital.logic.functor.Functor |
---|
equals, hashCode, toString |
Method Detail |
---|
java.lang.Object indexSet()
The index set specifies what form indices of coefficients have.
Since there usually is no computer representation of the full
index set, this method will only return a description object
that can be compared to other index sets via Object.equals(Object)
.
The precise structure of this object is not defined but, for example, for the polynomial ring R[Nn]=R[X0,...,Xn-1] in n variables, it may simply be the integer n.
java.util.Iterator indices()
The order of this iterator is not generally defined, but should be deterministic. Particularly, the iterator may - but need not - be restricted to occurring indices with coefficients ≠0.
java.util.Iterator monomials()
The order of this iterator is not generally defined, but should be deterministic. Particularly, the iterator may - but need not - be restricted to occurring indices with coefficients ≠0.
Arithmetic get(Arithmetic i)
0
if |i|>deg(this).
S
int rank()
java.lang.UnsupportedOperationException
- if R[S] is not a ring with a meaningful finite rank.Tensor.rank()
Integer degree()
For example, if S=Nn then this method returns the total degree deg(this) := max {|i| := ∑j=0,...,n-1 ij ¦ i∈Nn ∧ ai≠0}. Further, deg(0) < 0
java.lang.UnsupportedOperationException
- if R[S] is not a graded ring with a very meaningful graduation.
By providing this option, implementations are not forced to use trivial graduations if no
meaningful graduation exists.int degreeValue()
degreeValue()
int[] degrees()
For example, if S=Nn then this method returns the vector of partial degrees degp(this) := (max {j ¦ there is an i∈Nn with ik=j ∧ ai≠0})k=0,...,n-1. Further, deg_p(f)k < 0 iff Xk does not occur in f.
java.lang.UnsupportedOperationException
- if R[S] is not a ring with a meaningful finite rank.Tensor.dimensions()
java.util.ListIterator iterator()
java.lang.Object apply(java.lang.Object a)
apply
in interface Function
a
- the index embedding a
:S→(E,⋅), encoded as a Function<S,E>
,
that determines to which element a
(s) to map the index s∈S.a
can also be encoded as a Vector<E>
a
∈En≅ENn.
Polynomial add(Polynomial b)
Polynomial subtract(Polynomial b)
Polynomial multiply(Polynomial b)
|
Orbital library 1.3.0: 11 Apr 2009 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |