Changelog of @hackage/lapack 0.4

Change log for the lapack package

0.4

  • Unified Matrix type that provides the same type parameters across all special types. This reduces the use of type functions and improves type inference.

  • Unified transpose and adjoint functions enabled by the new Matrix type.

  • Unpacked format: We now support data type and according functions for unpacked triangular, symmetric and Hermitian matrices. Enables declaration e.g. of Hessenberg matrices.

  • There are now two types of square matrices:

    • Square: height and width shapes match exactly

    • LiberalSquare: only the sizes of height and width match

  • Square.eigensystem: Use liberal square as transformation matrix, such that the eigenvalue array has ShapeInt shape. The dimension of the input square matrix does not make sense as shape for the eigenvalue array.

  • Square.fromGeneral -> fromFull

  • Orthogonal.affineKernelFromSpan -> affineFiberFromFrame, Orthogonal.affineSpanFromKernel -> affineFrameFromFiber

0.3.2

  • Orthogonal: project, affineKernelFromSpan, affineSpanFromKernel, leastSquaresConstraint, gaussMarkovLinearModel

  • Symmetric.fromHermitian, Hermitian.fromSymmetric

  • instance Monoid Matrix, especially mempty for matrices with static shapes.

  • Extent.Dimensions: turn from type family to data family

  • Start using doctest-extract for simple tests

0.3.1

  • Matrix.Symmetric: You can now import many functions for symmetric matrices from this module. This is more natural than importing them from Triangular.

0.3

  • Matrix data family

  • Matrix: ZeroInt -> ShapeInt, zeroInt -> shapeInt

  • Hermitian, BandedHermitian: covariance -> gramian

  • Square.eigensystem: Return left eigenvectors as rows of the last matrix. This is adjoint with respect to the definition in lapack-0.2 but it is consistent with the other eigenvalue and singular value decompositions.