TransformVariables.jl
TransformVariables.jl copied to clipboard
Transformations to contrained variables from ℝⁿ.
Could you add a symmetric positive definite domain transformation? It could be based on the correlation one.
Allow versions of transformations that return `StaticArray`s. Roadmap: 1. [ ] include size information in types 2. [ ] `SMatrix`, `SVector`, and possibly `MMatrix` and `MVector` versions of `UnitVector` and...
Using forwarddiff to calculate the log jacobian was not inferrable, #28 mitigated this somehow but a better interface would be desirable.
Eg as in ```julia inverse(as((a = .., b = ...)), (c = ..., d = ...)) ``` which is currently a `MethodError`. Similarly for tuples of wrong type/length. An `@argcheck`...
from `transform_with(flag::LogJacFlag, t::ArrayTransform{Identity}, x::RealVector)`, when https://github.com/FluxML/Flux.jl/issues/416 is fixed.
In principle the setup should handle it seamlessly. Test, and clarify in the docs.
Currrently `inverse` for `NamedTuple` aggregators does not accept different orderings or supersets. Eg ```julia julia> using TransformVariables julia> t = as((a = asℝ, b = asℝ)); julia> inverse(t, (a =...
This is https://github.com/EnzymeAD/Enzyme.jl/issues/1235 in the wild. ```julia using TransformVariables, Enzyme, StaticArrays K = 7 N_EE = N_UU = N_UE = N_EU = 20 trans = as((# common ω_intercept = as(SVector{K}),...
Defining `dimension` in TransformVariables.jl brings a namespace conflict when the `dimension` functions from both LogDensityProblems.jl and this package are needed. Since the two packages are often used together, I suggest...