# lapack: Numerical Linear Algebra using LAPACK

This is a high-level interface to LAPACK. It provides solvers for simultaneous linear equations, linear least-squares problems, eigenvalue and singular value problems for matrices with certain kinds of structures.

Features:

Based on

`comfort-array`

: Allows to precisely express one-column or one-row matrices, as well as dense, square, triangular, banded, symmetric, Hermitian, banded Hermitian, blocked and LU or QR decomposed matrices.Support all data types that are supported by LAPACK, i.e. Float, Double, Complex Float, Complex Double

No need for c2hs, hsc, Template Haskell or C helper functions

Dependency only on BLAS and LAPACK, no GSL

Works with matrices and vectors with zero dimensions. This one is tricky and still leads to surprises since different LAPACK implementations consider different situations as corner cases.

No automatic (and dangerous) implicit expansion of singleton vectors or matrices. Instead there are special operators for scaling of vectors and matrices.

Separate formatting operator

`(##)`

: Works better for tuples of matrices and vectors than`show`

.`Show`

is used for code one-liners that can be copied back into Haskell modules. Support for nice formatting in HyperHaskell.

See also: `hmatrix`

.

[Skip to Readme]

Versions [RSS] [faq] | 0.0, 0.1, 0.2, 0.2.1, 0.2.2, 0.2.3, 0.2.3.1, 0.2.4, 0.3, 0.3.0.1, 0.3.1, 0.3.2, 0.4 (info) |
---|---|

Change log | Changes.md |

Dependencies | base (>=4.5 && <5), blas-ffi (>=0.0 && <0.2), blaze-html (>=0.7 && <0.10), boxes (>=0.1.5 && <0.2), comfort-array (==0.5.*), comfort-array-shape (==0.0.*), deepseq (>=1.3 && <1.5), fixed-length (==0.2.*), guarded-allocation (==0.0.*), hyper (>=0.1 && <0.3), lapack, lapack-ffi (>=0.0.3 && <0.1), lazyio (==0.1.*), netlib-ffi (>=0.1.1 && <0.2), non-empty (==0.3.*), semigroups (>=0.18.3 && <1.0), Stream (>=0.4.7 && <0.5), tagged (>=0.7 && <0.9), text (==1.2.*), tfp (>=1.0.2 && <1.1), transformers (>=0.4 && <0.6), utility-ht (>=0.0.13 && <0.1) [details] |

License | BSD-3-Clause |

Author | Henning Thielemann <haskell@henning-thielemann.de> |

Maintainer | Henning Thielemann <haskell@henning-thielemann.de> |

Category | Math |

Home page | https://hub.darcs.net/thielema/lapack/ |

Source repo | this: darcs get https://hub.darcs.net/thielema/lapack/ --tag 0.4 head: darcs get https://hub.darcs.net/thielema/lapack/ |

Uploaded | by HenningThielemann at 2021-08-05T21:03:20Z |

Distributions | LTSHaskell:0.3.2, NixOS:0.3.2, Stackage:0.4 |

Executables | lapack-debug |

Downloads | 4971 total (205 in the last 30 days) |

Rating | (no votes yet) [estimated by Bayesian average] |

Your Rating | |

Status | Docs available [build log] Last success reported on 2021-08-05 [all 1 reports] |

## Modules

[Index] [Quick Jump]

*Numeric**LAPACK**Example*- Numeric.LAPACK.Format
*Linear*- Numeric.LAPACK.Matrix
- Numeric.LAPACK.Matrix.Array
- Numeric.LAPACK.Matrix.Banded
- Numeric.LAPACK.Matrix.BandedHermitian
- Numeric.LAPACK.Matrix.BandedHermitianPositiveDefinite
- Numeric.LAPACK.Matrix.Diagonal
- Numeric.LAPACK.Matrix.Extent
- Numeric.LAPACK.Matrix.Full
- Numeric.LAPACK.Matrix.Function
- Numeric.LAPACK.Matrix.Hermitian
- Numeric.LAPACK.Matrix.HermitianPositiveDefinite
- Numeric.LAPACK.Matrix.Layout
- Numeric.LAPACK.Matrix.Permutation
- Numeric.LAPACK.Matrix.Quadratic
- Numeric.LAPACK.Matrix.Shape
- Numeric.LAPACK.Matrix.Special
- Numeric.LAPACK.Matrix.Square
- Numeric.LAPACK.Matrix.Superscript
- Numeric.LAPACK.Matrix.Symmetric
- Numeric.LAPACK.Matrix.Triangular

- Numeric.LAPACK.Orthogonal
- Numeric.LAPACK.Output
- Numeric.LAPACK.Permutation
- Numeric.LAPACK.Scalar
- Numeric.LAPACK.Shape
- Numeric.LAPACK.Singular
- Numeric.LAPACK.Vector

## Manual Flags

Name | Description | Default |
---|

## Automatic Flags

Name | Description | Default |
---|---|---|

debug | Compile programs for demonstrating bugs in the LAPACK implementation. | Disabled |

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

## Downloads

- lapack-0.4.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)