Orbital library

Package orbital.math

Defines arithmetic objects and provides mathematical algorithms.


Interface Summary
Arithmetic Arithmetic is implemented by all arithmetic objects that behave like algebraic numbers in terms of their compositional laws.
Complex Representation of a complex number a + i*b∈C.
Euclidean Euclidean ring interface.
Fraction Representation of a fraction a⁄s ∈ S-1M = MS.
Integer Representation of an integer number k∈Z.
Matrix Represents a matrix of any dimension n×m.
Metric This interface imposes a metric on the objects supported by it.
Normed This interface imposes a norm on the objects of each class that implements it.
Polynomial Polynomial p∈R[S] := R(S).
Quotient Quotient represents an (algebraic) equivalence class ā=ã=[a]∈M/~.
Rational Representation of a rational number a⁄s ∈ Q.
Real Representation of a real number a∈R.
Scalar Abstraction of all scalar arithmetic number objects.
Symbol Represents an algebraic or transcendental symbol.
Tensor Represents a tensor t∈Rn0×n1×…×nr-1 of dimensions n0×n1×…×nr-1 and rank r.
UnivariatePolynomial (Univariate) polynomial p∈R[X].
ValueFactory Scalar value and arithmetic object value constructor factory.
Vector Represents a mathematical vector of any dimension n.

Class Summary
AlgebraicAlgorithms Algebraic algorithms and computer algebra.
ArithmeticFormat ArithmeticFormat is responsible for formatting and parsing arithmetic objects.
Evaluations Deprecated. since Orbital1.1 This class is deprecated since its (simple) methods are mere facades for convenience.
LUDecomposition LUDecomposition class, decomposing A into PA = LU.
MathUtilities This class contains basic mathematical utilities.
NumericalAlgorithms This class contains numerical algorithms.
Stat This class contains algorithms and utilities for stochastics and statistical mathematics.
Values Manager for scalar value and arithmetic object value constructor factories.

Error Summary
FactoryConfigurationError Thrown when a problem with configuration of the factories exists.

Package orbital.math Description

Defines arithmetic objects and provides mathematical algorithms.

Arithmetic objects contained in this package are:

Types of arithmetic objects (or algebraic objects) provided
Group Class Value Representation
scalar types Integer k ∈ Z
Rational a⁄s ∈ Q
Real a∈R
Complex a + i*b ∈ C
vector space types Vector<A> v ∈ An
Matrix<A> M ∈ Am×n
Tensor<A> t ∈ An1×n2×…×nr
polynomial types UnivariatePolynomial<R> p ∈ R[X]
Polynomial<R,Vector<Integer>> p ∈ R[X0,...,Xn-1]
Polynomial<R,S> p ∈ R[S]
special Symbol "x"
Quotient<A> ā ∈ A/~
Fraction<A,S> a⁄s ∈ S-1A
Here A denotes a set of arbitrary arithmetic objects, R is a ring. Z is the set of integers, Q is the set of rational numers, R is the set of real values, and C is the set of complex numbers. Then the type hierarchy of the arithmetic objects realize the mathematical inclusion

Since our general arithmetic objects are modelled as interfaces to provide a maximum of flexibility, you need factory methods to create an arithmetic object value. The interface ValueFactory is that central factory class which can create arithmetic object values from all kinds of primitive types. And Values is its manager class which also provides a "pluggable value factory implementation" that allow other vendor's implementation of arithmetic objects to be used. Especially, this makes it possible to switch to an implementation with different numerical properties or differing levels of integration of symbolic mathematics. Even switching to implementations with lazy evaluation would be possible.

Mathematical function types are provided in a sub package orbital.math.functional.

See Also:
ValueFactory, orbital.math.functional, orbital.moon.logic.MathExpressionSyntax, Algebraic Structures

Orbital library
1.3.0: 11 Apr 2009

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