Orbital library

orbital.math Interface Normed

All Known Subinterfaces:
Arithmetic, BinaryFunction, BinaryFunction.Composite, Complex, Euclidean, Fraction, Function, Function.Composite, Integer, MathFunctor, MathFunctor.Composite, Matrix, Polynomial, Quotient, Rational, Real, Scalar, Symbol, Tensor, UnivariatePolynomial, Vector

`public interface Normed`

This interface imposes a norm on the objects of each class that implements it. A norm is a measure for lengths.

Let A be an S-module.

 ||.||:A→R is a norm if ∀a,b∈A, α∈S: (pdef) ||a||≥0 and ||a||=0 ⇔ a=0 "positive definite" (Δ) ||a+b|| ≤ ||a|| + ||b|| "triangular inequality" (hom) ||λa|| = |λ|ยท||a|| "absolute homogenous" ⇒ Properties (Δ) |||a|| - ||b||| ≤ ||a - b|| "inverse triangular inequality"

A norm ||.|| induces a metric d:A×A→R; (a,b)↦d(a,b) := ||a-b||.

In turn, a norm itself can be induced by a scalar product as ||a|| := √⟨a,a⟩. It is induced by a scalar product ⇔ ||a+b||2 + ||a-b||2 = 2||a||2 + 2||b||2. This is the parallelogram identity.

Author:
André Platzer
`Metric`, `Comparable`

Method Summary
` Real` `norm()`
Returns a norm ||.|| of this arithmetic object.

Method Detail

norm

`Real norm()`
Returns a norm ||.|| of this arithmetic object.

Returns:
the norm of this object, or perhaps `Double.NaN` if it is symbolic and really does not have a numeric norm or a useful symbolic norm.
Preconditions:
true
Postconditions:
RES &ge 0 ∧ (RES=0 ⇔ this=0) ∧ a.add(b).norm(x,y) ≤ a.norm() + b.norm() ∧ a.multiply(λ).norm() == Math.abs(λ) * a.norm() ∧ RES≠null

Orbital library
1.3.0: 11 Apr 2009