# Change log for the lapack package

## 0.5

• Matrix.Block for Block matrices. Add *Extra constraint families to many type classes in order to handle the data stored in the extra type parameters of Matrix.

• Format.format now uses custom type Config instead of a plain format String.

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

• Hermitian: Definiteness properties in the type

• eigensystem, Householder.fromMatrix, LowerUpper.fromMatrix etc.: We use the new class Shape.Permutable for shapes where permutation of indices seems to make sense. We tried using liberal squares matrix factors, but this would require extra parameters and consistency checks for the shapes of the factor matrices.

• Square.fromGeneral -> fromFull

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

• Matrix.Function: New module providing generalized algebraic and transcendent functions like sqrt, exp, log.

• Matrix.Superscript: Experimental module for eye-candy notation a#^T for transposition and a#^Inv for inverse.

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