Library Reference
Semirings
SemiringFactorizations.Semirings.AbstractSemiringNumber — Type
AbstractSemiringNumber{T} <: NumberAn element of a unital quantale.
Unital Quantales
A unital quantale is a quadruple $(R, \leq, \times, 1)$, where
- $(R, \leq)$ is a complete lattice
- $(R, \times, 1)$ is a monoid
- multiplication ($\times$) distributes over joins
Each concrete subtype T <: AbstractSemiringNumber defines a unital quantale whose elements are objects of type T. Given such a subtype, we may construct the following elements
typemin(T): a bottom elementtypemax(T): a top elementone(T): a multiplicative identity
For all pairs of objects a and b of type T, we may compute the following elements
star(a): the Kleene star ofaa + b: the join ofaandba & b: the meet ofaandbb / a: the left residual ofbbyaa \ b: the right residual ofbbya
*-Autonomous Quantales
If T is a *-autonomous quantale, then some additional operations are available.
a': the negation ofaa ⅋ bthe "par" ofaandb
SemiringFactorizations.Semirings.MinPlus — Type
MinPlus{T} <: AbstractSemiringNumber{T}The *-autonomous quantale $([-\infty, +\infty], \geq, +, 0)$.
- elements are extended real numbers: a ∈ $[-\infty, +\infty]$
- the ordering is backwards: $a \geq b$
- multiplication is addition: $a + b$
- the multiplicative identity is $0$
This quantale is sometimes called the tropical semiring.
SemiringFactorizations.Semirings.MaxPlus — Type
MaxPlus{T} <: AbstractSemiringNumber{T}The *-autonomous quantale $([-\infty, +\infty], \leq, +, 0)$.
- elements are extended real numbers: a ∈ $[-\infty, +\infty]$
- the ordering is standard: $a \leq b$
- multiplication is addition: $a + b$
- the multiplicative identity is $0$
This quantale is sometimes called the arctic semiring.
SemiringFactorizations.Semirings.MaxMul — Type
MaxMul{T} <: AbstractSemiringNumber{T}The *-autonomous quantale $([0, +\infty], \leq, \times, 0)$.
- elements are nonnegative extended real numbers: a ∈ $[0, +\infty]$
- the ordering is standard: $a \leq b$
- multiplication is standard: $a \times b$
- the multiplicative identity is $1$
This quantale is sometimes called the Viterbi semiring.
SemiringFactorizations.Semirings.OrAnd — Type
OrAnd{T} <: AbstractSemiringNumber{T}The *-autonomous quantale $(2^n, \subseteq, \cap, 2^n)$.
- elements are subsets: $a \in 2^n$
- the ordering is subset inclusion: $a \subseteq b$
- multiplication is intersection: $a \cap b$
- the multiplicative identity is $2^n$
This quantale is sometimes called the powerset semiring.
SemiringFactorizations.Semirings.AndOr — Type
AndOr{T} <: NumberThe *-autonomous quantale $(2^n, \supseteq, \cup, \emptyset)$.
- elements are subsets: $a \in 2^n$
- the ordering is subset exclusion: $a \supseteq b$
- multiplication is union: $a \cup b$
- the multiplicative identity is $\emptyset$
This quantale is sometimes called the powerset semiring.
Factorization
SemiringFactorizations.AbstractStarLU — Type
AbstractStarLU{T} <: AbstractStar{T}An AbstractStarLU factorization object represents a matrix $A^*$ as a pair $(L, U)$, where
- $L$ is strictly lower triangular
- $U$ is upper triangular
and $A^* = U^* L^*$.
SemiringFactorizations.slu — Function
slu(A::AbstractMatrix)Construct an AbstractStarLU factorization object for the Kleene star $A^*$.