Repository navigation
v0.2.1
ReducedBasisMethods v0.2.1
New Features
-
reduced_odeandreduced_podeemit the reduced equation forms asGeometricEquations
problems.reduced_ode(b, ∇H!, timespan, timestep, z₀; parameters)is the ordinary problem of
the reduced equation the basis carries:ż = J_k Aᵀ ∇H(Az)for the symplectic bases
CotangentLiftSVD,CotangentLiftEVDandComplexSVD, whereA = Matrix(b), and the Galerkin
formż = Uᵀ J_N ∇H(Uz)for the POD basesPODSVDandPODEVD, whereU = Φ. A POD basis
forms no canonical symplectic matrix in its reduced coordinates, so its reduced dimensionk
may be odd.
reduced_pode(b, ∇H!, timespan, timestep, z₀; parameters)is the partitioned problem of the
symplectic bases, whose two fields are the first and the lastkrows of the same form; a POD
basis has noqandphalves to split, and no method. ASymplecticDEIMemitsż = J_2k ∇H̃(z)
throughhamiltonian_gradient!by the same two functions.∇H!(g, t, x, params)writes
∇H(x)intog, in the argument order of a vector field, andparametersreaches it unchanged.
The state is in reduced coordinates —project(b, x₀)gives it — and its element type must be
the basis's. Integration stays the caller's: these functions emit a problem and no integrator is
a dependency. A vector field call allocates 0 B for basis states, and for theForwardDiff.Dual
states Newton'sJacobianAutodiffpasses after the first call for that element type, which fills
a per-type pair of work buffers; whatever∇H!allocates is the caller's. -
GeometricEquationsjoins[deps], at"0.21". The two emitters above build
ODEProblemandPODEProblem, and importODEProblem,PODEProblemandNullParametersby
name rather than through the package's whole export list.GeometricIntegratorsand
GeometricIntegratorsBasedo not join[deps]: an integrator is the caller's, and the test
dependencies supply one. -
get_DEIM_indices(Ψ)is exported. It returns thekrows that the greedy DEIM algorithm
selects on the basisΨ, and is the index form ofget_DEIM_interpolation_matrix:
Π' * A == A[p, :]forp = get_DEIM_indices(Ψ), so a caller samples the rows without forming
theN × kmatrixΠ. It was internal under another name; its selection and its
ArgumentErrors are unchanged.
Merged pull requests:
- P32: the reduced equation forms, emitted as GeometricEquations problems (#55) (@michakraus)
- Export get_DEIM_indices, the index form of the DEIM interpolation matrix (#57) (@michakraus)