Locally Invariant Foliations
These are methods that find a locally accurate invariant foliation in the neighbourhood of an invariant manifold.
FoliationsManifoldsAutoencoders.ISFImmersionManifold — TypeM = ISFImmersionManifold(mdim, ndim, Worder, kappa=0.0, field::AbstractNumbers=ℝ)Creates a manifold representation for the encoder
\[\hat{\boldsymbol{U}}\left(\boldsymbol{x}\right)=\boldsymbol{U}^{\perp}\boldsymbol{x}-\boldsymbol{W}_{0}\left(\boldsymbol{U}\left(\boldsymbol{x}\right)\right),\]
where $\boldsymbol{W}_{0}:Z\to\hat{Z}$ with $D\boldsymbol{W}_{0}\left(\boldsymbol{0}\right)=\boldsymbol{0}$, $\boldsymbol{U}^{\perp}:X\to\hat{Z}$ is a linear map, $\boldsymbol{U}^{\perp}\left(\boldsymbol{U}^{\perp}\right)^{T}=\boldsymbol{I}$ and $\boldsymbol{U}^{\perp}\boldsymbol{W}_{0}\left(\boldsymbol{z}\right)=\boldsymbol{0}$.
Function arguments arguments are
mdim: dimensionality of the manifoldndim: system dimensionalityWorder: polynomial order of $\boldsymbol{W}_{0}$
Base.zero — MethodX = zero(M::ISFImmersionManifold)Creates a zero data structure for a local foliation ISFImmersionManifold.
FoliationsManifoldsAutoencoders.ImmersionReconstruct — FunctionMWt, XWt = ImmersionReconstruct(Mimm, Ximm, Misf, Xisf)Creates a manifold immersion from the locally accurate foliation represented by Mimm, Ximm, and the full foliation represented by Misf, Xisf.
FoliationsManifoldsAutoencoders.ISFImmersionSolve! — FunctionXres, dataParIN, dataParOUT = ISFImmersionSolve!(Mimm, Ximm, Misf, Xisf, S2, U2, dataIN, dataOUT; maxit = 25, rank_deficiency = 0, Tstep = 1.0)Solves the optimisation problem
\[\arg\min_{\boldsymbol{S},\boldsymbol{U}}\sum_{k=1}^{N}\left\Vert \boldsymbol{x}_{k}\right\Vert ^{-2}\exp\left(-\frac{1}{2\kappa^{2}}\left\Vert \hat{\boldsymbol{U}}\left(\boldsymbol{x}_{k}\right)\right\Vert ^{2}\right)\left\Vert \boldsymbol{B}\hat{\boldsymbol{U}}\left(\boldsymbol{x}_{k}\right)-\hat{\boldsymbol{U}}\left(\boldsymbol{y}_{k}\right)\right\Vert ^{2}\]