# 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.