Skip to content

HMath documentation

HMath is a mathematics and numerical computing library written in Haskell, with officially maintained C, Python, and Wave interfaces.

Start with installation, then follow your first calculation. Use the Python reference to look up individual operations.

Choose an operation to find the right interface and function for your calculation.

Choose an interface

Interface Scope Entry point
Python Scalar addition; binary64 tensors, matrices, reductions, NumPy views Python API
C Stable checked ABI, tensors, contexts, callbacks, CPU DLPack C ABI
Wave Checked scalar and tensor operations through the C ABI Wave integration
Haskell Full mathematics and scientific computing modules Haskell modules

The full Haskell API is larger than the Python and Wave APIs. A function being available in Haskell does not imply that a Python wrapper exists.

Find the right kind of documentation

  • Getting started teaches an end-to-end calculation.
  • How-to guides solve specific integration tasks.
  • Reference describes signatures, results, constraints, and errors.
  • Explanation describes architecture, ownership, and compatibility.

This documentation accompanies HMath 1.1.0. Linux x86-64 is the supported binary distribution target. See release compatibility for Python versions, ABI compatibility, and the 1.0.0 installation defect.