|
Orbital library | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface Polynomial
Polynomial p in R[S] := R(S).
R(S) := ⊕s in 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: R[X0,...,Xn-1] = R[X0][X1]...[Xn-1]. The importance of polynomial rings comes from the fact that they are the free commutative and associative R-algebras LibascR(I) := R(N(I)) = R[(Xi)i in I]. Although, of course, this is usually restricted to a finite number of variables for the purpose of computation.
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 |
| 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 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). |
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.math.Arithmetic |
|---|
add, divide, equals, inverse, isOne, isZero, minus, multiply, one, power, scale, subtract, toString, zero |
| Methods inherited from interface orbital.math.Normed |
|---|
norm |
| 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.
Arithmetic get(Arithmetic i)
0 if |i|>deg(this).
Sint 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 in Nn and ai!=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()
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 Functiona - the index embedding a:S->(E,), encoded as a Function<S,E>,
that determines to which element a(s) to map the index s in S.a can also be encoded as a Vector<E>
a in En=ENn.
Polynomial add(Polynomial b)
Polynomial subtract(Polynomial b)
Polynomial multiply(Polynomial b)
|
Orbital library 1.2.0: 23 Apr 2008 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||