Skip to content

v0.6.5

Choose a tag to compare

@github-actions github-actions released this 25 Mar 14:18
· 9 commits to main since this release
e6e844f

MatrixAlgebraKit v0.6.5

Diff since v0.6.4

This release completes the separation of Algorithm and Driver concepts across all decomposition types, and adds several new features including SafeDivideAndConquer, TruncationUnion, DefaultAlgorithm, and AD rules for hermitian projections.

Highlights

  • Algorithm/Driver separation for QR/LQ, SVD, and Schur/Eig decompositions — cleaner dispatch and easier extensibility (#178, #189, #194, #196)
  • SafeDivideAndConquer — a more robust SVD algorithm variant (#185)
  • TruncationUnion — combine multiple truncation schemes with minimal rank support (#183)
  • DefaultAlgorithm — explicit dispatch to the default algorithm (#195)
  • AD rules for (anti-)hermitian projection via ChainRules, Mooncake, and Enzyme (#174)

Full Changelog

See CHANGELOG for the complete list of changes.

Merged pull requests:

  • Support for Diagonal in orthnull (#144) (@kshyatt)
  • Highlight usage of default_algorithm in decomposition documentation (#169) (@leburgel)
  • Change QR/LQ decompositions to use positive = true by default (#170) (@leburgel)
  • add specializations svd_trunc(!) for TruncatedAlgorithm (#171) (@lkdvos)
  • Default tolerances for SVD-based nullspaces (#172) (@lkdvos)
  • AD rules for (anti-) hermitian projection (#174) (@lkdvos)
  • Mooncake testsuite refactor (#175) (@lkdvos)
  • Refactor Enzyme testsuite (#177) (@kshyatt)
  • Separate Algorithm and Driver (#178) (@lkdvos)
  • Some changes to the ad test utils (#180) (@Jutho)
  • Define default algorithms for SubArray and ReshapedArray (#182) (@lkdvos)
  • Add TruncationUnion to support supplying minimal ranks (#183) (@lkdvos)
  • Try to improve type stability with Householder (#184) (@lkdvos)
  • SafeSVD alternative (#185) (@Jutho)
  • Run trunc tests with Float32 thanks to new Enzyme (#187) (@kshyatt)
  • Separate Algorithm and Driver - part II (SVD) (#189) (@lkdvos)
  • Counter-attack TNRKit with increased coverage (#190) (@kshyatt)
  • Disable JET for now (#191) (@kshyatt)
  • Now test Jacobi SVD for all matrices (#193) (@kshyatt)
  • Separate Algorithm and Driver - part III (Schur-Eig) (#194) (@lkdvos)
  • Add DefaultAlgorithm (#195) (@lkdvos)
  • some more updates on algorithms (#196) (@Jutho)
  • Consistent ::AbstractMatrix annotations (#198) (@lkdvos)
  • Add algorithm section in the docs (#199) (@lkdvos)
  • Release v0.6.5 (#200) (@lkdvos)
  • CompatHelper: bump compat for GenericLinearAlgebra in [weakdeps] to 0.4, (keep existing compat) (#201) (@github-actions[bot])

Closed issues:

  • Add DefaultAlgorithm as a placeholder for postponing the selection of the default algorithm. (#31)
  • [AD] rrules for project_(anti)hermitian (#99)
  • right_null for a simple matrix (#166)
  • Add use of MatrixAlgebraKit.default_algorithm to decomposition documentation (#167)
  • Change default left_orth algorithm choice to use a positive QR decomposition? (#168)
  • [Feature request] Option to specify algorithm "flavor" without restricting data storage type (#176)
  • Allow one to set a minimum dimension when truncating. (#181)
  • [docs] Algorithm selection (#192)