API
Modules
Types and constants
AffineMaps.AbstractAffineMap
AffineMaps.Add
AffineMaps.AddMul
AffineMaps.InvAddMul
AffineMaps.InvMul
AffineMaps.InvMulAdd
AffineMaps.Mul
AffineMaps.MulAdd
AffineMaps.Subtract
Functions and macros
Documentation
AffineMaps.AffineMaps
— ModuleAffineMaps
Implements affine transformations in a modular way.
AffineMaps.AbstractAffineMap
— Typeabstract type AbstractAffineMap <: Function
Abstract 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 AddMul
f = 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 InvMul
f = 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 InvMulAdd
f = 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 MulAdd
f = MulAdd(A, b)
has the behavior f(x) == f.A * x .+ f.b
.
See AbstractAffineMap
for more information.
AffineMaps.Subtract
— Typestruct Subtract
f = Subtract(b)
has the behavior f(x) == x .- f.b
. It is the inverse of Add(b)
.
See AbstractAffineMap
for more information.