Maintained by Edward A. Kmett
Module documentation for 1.21.3
This version can be pinned in stack with:
- Allow building with GHC 9.0.
base-orphans-0.8.3or later. This means that the
Linear.Instancesmodule no longer defines any orphan instances of its own, and the module is now a simple shim on top of
- Allow building with
- Add instances for direct sums (
Product) and tensor products (
Compose) of other vector spaces. This makes is much more convenient to do things like treat a matrix temporarily as a vector through Compose, or to consider things like Gauss-Jordan elimination, which wants augmented structures.
frobeniusfor computing the Frobenius norm of a matrix.
System.Random. We had an indirect dependency through
- Add “obvious” zipping
Monoidinstances to all the representable vector spaces.
_wis the scalar component so that
_zcan be directional.
- Add more solvers to
Linear.Matrix, available with
- Add instances of the
- Use specialized implementations of the
Hashable1instances for data types in
linear. Also add a
- Fix a bug in which
Quaternions were incorrectly exponentiated.
cabal-doctest. This makes it build with
Cabal-2.0, and makes the
doctests work with
cabal new-buildand sandboxes.
(1 / x)and
recip xagree in the
- Use newtype instances for
Linear.Trace. Also enable
PolyKindswhen GHC 7.6 or later is used (previously, it was GHC 7.8 or later).
- Fix a segfault arising from the
Finiteclass for conversion between
Vand fixed-size vector types
- GHC 8 compatibility
- Fixed the
- Compatibility with
- You can now unboxed vectors of
- Modified the
doctestmachinery to work with
stackand builds to non-standard locations.
- Removed the local
- Various numerical stability improvements were made to the quaternion and projection functions.
- Fixed doctests broken by the previous change.
- Unboxed vector instances for various linear data types now use unpacked integers even on older GHCs.
inv44no longer attempt an epsilon check. They no longer return a
Mayberesult as a consequence. You should filter for the 0 determinant case yourself.
- Fix GHC 7.4.
- Change the Ixed instance for
Intas the index type. This makes
V na lot easier to use.
- Compile warning-free on GHC 7.10.
- Added an
-f-template-haskelloption to allow disabling
template-haskellsupport. This is an unsupported configuration but may be useful for expert users in sandbox configurations.
- Added lenses for extracting corner various sub-matrices e.g.
- Fixed builds on even older GHCs.
- Fixed the test suite.
- Fixed builds on older GHCs.
eye4into a single
- Fixed the
V n afor GHC 7.10-RC3.
- Added support for
- Added missing support for
- Better support for
binary. Added support for
inverseOrthonow only require a
- Added missing
- Improve the performance of
scaledby using implementations that inline well for functions that were previously reference implementations.
NFDatainstances for the various vector types.
!!/operator for matrix division by scalar.
- Added Typeable and Data instances for V
- Added missing
TraversableWithIndex Int (V n)instances for
frustum, analogous to the old
inversePerspective. It is much more accurate to compute it directly than to compute an inverse.
- Fixed build failures caused by
Linearre-exporting the old name.
- Fixed a build issue with GHC HEAD.
- Fixed test failures caused by 1.14
Linear.Plucker.Coincides. The constructors
Rayoft collided with user code.
- Switched ‘ortho’ to follow the OpenGL handedness.
- Added “swizzle” lenses e.g.
_yzx, which are useful for working with libraries like
- Added ‘transpose’
- Added missing ‘Mxy’ matrices up to 4 dimensions – they were commonly reimplemented by users.
- Fixed an issue with
UndecidableInstanceson GHC 7.6.3
relativeand a few instances for
- Changed the ‘representation’ of
E (V n), which was hard to use, to
Int, which is a bit too permissive, but is easy to use.
- Added a role annotation to
V n ato prevent users from using GHC 7.8’s
Coerciblemachinery to violate invariants.
- Fixed a broken build
- Added missing
Unboxinstances for working with unboxed vectors of
unitnow has a rank 1 type.
columnand added an example.
- Build bugfix
- Better implementations of
- Derived Generic instances.
- Improved matrix multiplication to properly support the sparse/sparse case.
- Marked modules
- Dependency bump for
- Fixed an infinite loop in the default definition of
- Strict vectors
- Bumped dependency bounds
0.9.1 [bug fix]
- Added sparse vector support.
- More documentation
- Removed the direct dependency on
Linear.Coreto cover vector spaces as corepresentable functors.
- Removed the upper bound on
- Initial hackage release
Depends on 23 packages(full list with versions):