Concepts (Mathematics) - singa-bio/singa GitHub Wiki

Concepts are mathematical constructs that represent a certain behavior and/or attributes of any mathematical object.

The interfaces provided in this package provide contracts and some logic restrictions for their combination.

Unary concepts

Concepts, that are applied to one element to produce a second element of the same kind.

Invertible

<NumberConcept> The type of the concept the inversion will result in.

In abstract algebra, the idea of an inverse element generalizes concepts of a negation. The inverse is an element, that can 'undo' the effect of a combination with another given element. Generally this is considered as the opposite of the element.

See also: Wikipedia: Inverse

AdditivelyInvertible

<NumberConcept> The type of the concept the inversion will result in.

The additive inversion operation can be any unary operation that returns the inverse of this Object.

The additive inverse of a number and the number itself combined with an additive operation yield the additively neutral element called Additive Zero Element.

See also: Wikipedia: Additive inverse

MultiplicativelyInvertible

<NumberConcept> The type of the concept the inversion will result in.

The multiplicative inversion operation can be any unary operation that returns the inverse of this Object.

The multiplicative inverse of a number and the number itself combined with an multiplicative operation yield the Multiplicative One Element.

See also: Wikipedia: Multiplicative inverse

Binary concepts

Concepts, that are applied to two elements to produce a third element of the set.

Addable

<NumberConcept> The type of the concept the addition will result in.

The "addition" operation can be any commutative and associative binary operation on a number concept.

Addition is commutative, meaning that order does not matter, and it is associative, meaning that when more than two numbers are added, the order in which addition is performed does not matter. The repeated addition of the Additive One Element is the same as counting; addition of a Additive Zero Element does not change a number.

See also: Wikipedia: Addition

Subtractable

<NumberConcept> The type of the concept the subtraction will result in.

The subtraction operation can be any anticommutative and not associative binary operation on a number concept.

It is anticommutative, meaning that changing the order changes the result. It is not associative, meaning that when one subtracts more than two numbers, the order in which subtraction is performed matters. Subtraction of the Additive Zero Element does not change a number.

See also: Wikipedia: Subtraction

Multipliable

<NumberConcept> The type of the concept the multiplication will result in.

The multiplication operation can be any commutative and associative binary operation on a number concept.

Generally it is equivalent to adding as many copies of one of them (multiplicand) as the value of the other one (multiplier). Multiplication is commutative, meaning that order does not matter, and it is associative, meaning that when one multiplies more than two numbers, the order in which multiplication is performed does not matter. The multiplication of the Multiplicative One Element does not change the value of the result. Any number multiplied by the Multiplicative Zero Element will return the Zero element.

See also: Wikipedia: Multiplication

Divisible

<NumberConcept> The type of the concept the division will result in.

The division operation can be any anticommutative and not associative binary operation on a number concept.

Division is anticommutative, meaning that changing the order changes the result. It is not associative, meaning that when one divides more than two numbers, the order in which division is performed matters. Division of the Multiplicative Zero Element is impossible. Division by the Multiplicative One Element does not change the result.

See also: Wikipedia: Division

Attribute concepts

Concepts, that accredit certain features or abilities to mathematical objects.

MultiDimensional

<NumberConcept> The type of the concept that has multiple dimensions.

The MultiDimensional interface defines whether a Number concept has one or more Dimensions. It provides methods to compare dimensions of different Objects for operations, that are dimensional sensitive.

Structural Concepts

Concepts, that combine certain features or abilities of mathematical objects into concise definitions.

Ring

<RingType> The type of the structure that is addable, additively invertible, subtractable, and multipliable.

Implementing objects have to define addition, subtraction, additive inversion and multiplication.

⚠️ **GitHub.com Fallback** ⚠️