API

Modules

Types and constants

Functions and macros

    Documentation

    AffineMaps.AbstractAffineMapType
    abstract type AbstractAffineMap <: Function

    Abstract type for affine maps.

    An affine map f::AbstractAffineMap acts 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, an AbstractMatrix{<:Number}, a LinearAlgebra.UniformScaling or any other multiplicative linear operator that supports A * x. The packages LinearMaps, LinearOperators and SciMLOperators provide such operators, for example. Inverse maps require support for A \ y, and logabsdet(Jacobian) computations are supported for Number, AbstractMatrix and UniformScaling operators.

    b must broadcast over A * x (resp. x) without changing its shape: a scalar, an array of equal shape, or e.g. a vector to add column-wise to a matrix-valued A * x.

    A matrix-valued x is treated as a batch of column-vector samples, so ChangesOfVariables.with_logabsdet_jacobian returns a 1 × size(x, 2) matrix of per-column values then.

    Subtypes of AbstractAffineMap should implement/support the APIs of

    source