API
Modules
Types and constants
AffineMaps.AbstractAffineMapAffineMaps.AddAffineMaps.AddMulAffineMaps.InvAddMulAffineMaps.InvMulAffineMaps.InvMulAddAffineMaps.MulAffineMaps.MulAddAffineMaps.Subtract
Functions and macros
Documentation
AffineMaps.AffineMaps — ModuleAffineMapsImplements affine transformations in a modular way.
AffineMaps.AbstractAffineMap — Typeabstract type AbstractAffineMap <: FunctionAbstract type for affine maps.
Affine map f::AbstractAffineMap act like f(x) == A * x .+ b or f(x) == A * (x .+ b) or their inverses, depending on the type of the map f.
A may be a Number, AbstractMatrix{<:Number} or any other multiplicative linear operator in general (that supports at least size(A) and eltype(A)). The packages LinearMaps, LinearOperators and SciMLOperators provide such operators, for example.
b must have a shape that supports broadcasted addition and subtraction with x.
Subtypes of AbstractAffineMap should implement/support the APIs of
AffineMaps.Add — TypeAffineMaps.AddMul — Typestruct AddMulf = AddMul(A, b) has the behavior f(x) == f.A * (x .+ f.b).
See AbstractAffineMap for more information.
AffineMaps.InvAddMul — Typemuladd(f.A, x, f.b) struct InvAddMul
f = InvAddMul(A, b) has the behavior f(x) == (f.A \ x) .- f.b. It is the inverse of AddMul(A, b).
See AbstractAffineMap for more information.
AffineMaps.InvMul — Typestruct InvMulf = InvMul(A) has the behavior f(x) == f.A \ x. It is the inverse of Mul(A).
See AbstractAffineMap for more information.
AffineMaps.InvMulAdd — Typestruct InvMulAddf = InvMulAdd(A, b) has the behavior f(x) == f.A \ (x .- f.b). It is the inverse of MulAdd(A, b).
See AbstractAffineMap for more information.
AffineMaps.Mul — TypeAffineMaps.MulAdd — Typestruct MulAddf = MulAdd(A, b) has the behavior f(x) == f.A * x .+ f.b.
See AbstractAffineMap for more information.
AffineMaps.Subtract — Typestruct Subtractf = Subtract(b) has the behavior f(x) == x .- f.b. It is the inverse of Add(b).
See AbstractAffineMap for more information.