Orbital library

orbital.math
Interface Symbol

All Superinterfaces:
Arithmetic, Normed, Variable

public interface Symbol
extends Arithmetic, Variable

Represents an algebraic or transcendental symbol.

Algebraic or transcendental symbols behave like arithmetic objects, with the exception that the result of an operation may not have a numeric value but require a symbolic representation again.

Variables and constants are symbols, for example. Roots of radicals can sometimes be represented as symbols.

Formally, symbols are elements of a term algebra, which is essentially the free symbolic algebra without relations, see, e.g., ValueFactory.quotient(Arithmetic,orbital.logic.functor.Function) or AlgebraicAlgorithms.reduce(Polynomial,java.util.Collection,java.util.Comparator) for generating relations.

Author:
André Platzer
See Also:
ValueFactory.symbol(String)

Field Summary
static Predicate isa
          Checks whether the given arithmetic object is a symbol.
 
Fields inherited from interface orbital.math.Arithmetic
numerical
 
Method Summary
 boolean equals(java.lang.Object o)
           
 boolean equals(java.lang.Object o, Real tolerance)
          Compares for tolerant equality.
 java.lang.String getSignifier()
          Get the signifier representing this symbol (the symbol's name).
 int hashCode()
           
 
Methods inherited from interface orbital.math.Arithmetic
add, divide, inverse, isOne, isZero, minus, multiply, one, power, scale, subtract, toString, valueFactory, zero
 
Methods inherited from interface orbital.math.Normed
norm
 
Methods inherited from interface orbital.logic.trs.Variable
isVariable
 

Field Detail

isa

static final Predicate isa
Checks whether the given arithmetic object is a symbol.

Method Detail

getSignifier

java.lang.String getSignifier()
Get the signifier representing this symbol (the symbol's name).

See Also:
Symbol.getSignifier()
Preconditions:
true

equals

boolean equals(java.lang.Object o,
               Real tolerance)
Compares for tolerant equality.

Specified by:
equals in interface Arithmetic
tolerance - specifies how much the arithmetic objects may differ to be treated as equal.
Returns:
true if this.equals(o), or if tolerance=∞.

equals

boolean equals(java.lang.Object o)
Overrides:
equals in class java.lang.Object

hashCode

int hashCode()
Overrides:
hashCode in class java.lang.Object
Returns:
getSignifier().hashCode().

Orbital library
1.3.0: 11 Apr 2009

Copyright © 1996-2009 André Platzer
All Rights Reserved.