Skip to content

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 12 Oct 15:40
· 16 commits to main since this release

ReducedBasisMethods v0.2.0

Diff since v0.1.0

Breaking Changes

  • ReducedTensor is built on GridTensor, not on PoissonTensor. A caller passes any rank-3
    MultiIndexArrays.GridTensor; a PoissonTensor, a dense array, or a GridTensor of another rank
    is a MethodError. GeometricBrackets leaves [deps] and [compat], and MultiIndexArrays
    takes the bound 0.1.2.
  • The grid-based and particle-based code left this package. src/gridbased/ and
    src/particles/ are gone, with every name they exported. ReducedTensor stays, now in
    src/reduced_tensor.jl and re-parameterised on GridTensor.
  • Vlasov and training code left this package. TrainingSet and src/trainingset.jl are
    removed, together with the exports of read_sampling_parameters, IntegratorCache and
    integrate_vp, which had no definitions.
  • Minimum Julia is now 1.11, raised from the declared 1.7.
  • The 0.1.0 reduced-basis algorithms and their fields are removed. A basis is no longer split
    into a particle part and a field part: Λ replaces Λₚ and Λₑ as the full spectrum.
  • The 0.1.0 basis functions are deleted, with their exports.
  • The HDF5 layout changed, so a file written by 0.1.0 no longer loads.

New Features

  • ReducedBasis is built from a snapshot by one constructor, with five algorithms: PODSVD,
    PODEVD, CotangentLiftSVD, CotangentLiftEVD and ComplexSVD.
  • Matrix assembles the basis, and lift and two error measures are exported.
  • scripts/reference_spectra.jl regenerates the paper's reference spectra.
  • SymplecticDEIM and hamiltonian_gradient!. Structure-preserving DEIM for a Hamiltonian.
  • ReducedTensor wraps any rank-3 GridTensor, of any width its grid holds.
  • reference/ is under version control.

Bug Fixes

  • The DEIM selection follows the magnitude of the residual, and its result is no longer silently
    Float64.
  • ReducedTensor now follows the AbstractArray convention for out-of-bounds dimensions.

Changed

  • get_DEIM_interpolation_matrix rejects a basis it cannot interpolate.
  • [deps] is now generic infrastructure only.
  • The test suite checks the package structure, and the test dependencies are in
    test/Project.toml.
  • The SVD routes skip the right singular vectors, and the EVD routes are rewritten.
  • LazyArrays is no longer a dependency.
  • ReducedComplexityModeling is required at 0.1.1.

Merged pull requests:

  • Normalise the bump-on-tail script to NFC (#35) (@michakraus)
  • Name the character the NFC entry actually normalised (#36) (@michakraus)
  • Combine the open compat updates (#37) (@michakraus)
  • Split the grid-based and particle-based code out of the package (#39) (@michakraus)
  • Reduce to a generic-only module skeleton (P28, T7.2) (#41) (@michakraus)
  • Migrate the test suite to the SafeTestsets convention (part M8) (#43) (@michakraus)
  • Update Plots requirement to 1.41.7 in /docs (#44) (@dependabot[bot])
  • Update Weave requirement to 0.10.12 in /docs (#45) (@dependabot[bot])
  • Update Documenter requirement to 1.19.0 in /docs (#46) (@dependabot[bot])
  • Update Aqua requirement to 0.8.18 in /test (#48) (@dependabot[bot])
  • Remove the shared compat entries from test/Project.toml (#49) (@michakraus)
  • CI: coverage from Julia 1 on ubuntu, save the cache only from a job that succeeds (#50) (@michakraus)
  • Build a reduced basis from its snapshot: POD, both PSD routes, the complex SVD, basis size, project and lift (#52) (@michakraus)
  • DEIM: select by the magnitude of the residual, and add symplectic DEIM (#53) (@michakraus)
  • ReducedTensor on GridTensor's locality interface, GeometricBrackets out of [deps] (#54) (@michakraus)