exact-real alternatives and similar packages
Based on the "Math" category.
Alternatively, view exact-real alternatives based on common mentions on social networks and blogs.
hmatrix9.8 0.0 exact-real VS hmatrixLinear algebra and numerical computation
subhask9.8 0.0 exact-real VS subhaskType safe interface for working in subcategories of Hask
ad9.8 4.6 exact-real VS adAutomatic Differentiation
vector9.8 6.1 exact-real VS vectorAn efficient implementation of Int-indexed arrays (both mutable and immutable), with a powerful loop optimisation framework .
linear9.7 2.5 exact-real VS linearLow-dimensional linear algebra primitives for Haskell.
statistics9.7 2.1 exact-real VS statisticsA fast, high quality library for computing with statistics in Haskell.
what49.4 6.2 exact-real VS what4Symbolic formula representation and solver interaction library
HerbiePlugin9.4 0.0 exact-real VS HerbiePluginGHC plugin that improves Haskell code's numerical stability
hgeometry9.3 8.4 exact-real VS hgeometryHGeometry is a library for computing with geometric objects in Haskell. It defines basic geometric types and primitives, and it implements some geometric data structures and algorithms. The main two focusses are: (1) Strong type safety, and (2) implementations of geometric algorithms and data structures that have good asymptotic running time guarantees.
algebra9.2 0.0 exact-real VS algebraconstructive abstract algebra
grid9.2 0.0 exact-real VS gridTools for working with regular grids/graphs/lattices.
units9.2 0.0 exact-real VS unitsThe home of the units Haskell package
dimensional9.1 6.0 exact-real VS dimensionalDimensional library variant built on Data Kinds, Closed Type Families, TypeNats (GHC 7.8+).
semigroups9.1 0.0 exact-real VS semigroupsHaskell 98 semigroups
estimator9.0 0.0 exact-real VS estimatorState-space estimation algorithms and models
hermit9.0 0.0 exact-real VS hermitHaskell Equational Reasoning Model-to-Implementation Tunnel
computational-algebraGeneral-Purpose Computer Algebra System as an EDSL in Haskell
hblas8.9 0.0 exact-real VS hblashaskell bindings for blas and lapack
matrix8.9 0.0 exact-real VS matrixA Haskell native implementation of matrices and their operations.
mwc-random8.9 1.0 exact-real VS mwc-randomA very fast Haskell library for generating high quality pseudo-random numbers.
numhask8.8 3.1 exact-real VS numhaskA haskell numeric prelude, providing a clean structure for numbers and operations that combine them.
lambda-calculator8.8 4.6 exact-real VS lambda-calculatorAn introduction to the Lambda Calculus
vector-space8.7 0.0 exact-real VS vector-spaceVector & affine spaces, linear maps, and derivatives
math-functions8.6 1.0 exact-real VS math-functionsSpecial mathematical functions
poly8.5 4.8 exact-real VS polyFast polynomial arithmetic in Haskell (dense and sparse, univariate and multivariate, usual and Laurent)
rounded8.5 0.0 exact-real VS roundedMPFR bindings for Haskell
deeplearning-hs8.5 0.0 exact-real VS deeplearning-hsDeep Learning in Haskell
cf8.5 0.0 exact-real VS cf"Exact" real arithmetic for Haskell using continued fractions (Not formally proven correct)
bayes-stack8.5 0.0 exact-real VS bayes-stackFramework for Gibbs sampling of probabilistic models
arrayfire8.5 1.6 exact-real VS arrayfireHaskell bindings to ArrayFire
vector-sized8.5 0.0 exact-real VS vector-sizedSize tagged vectors
optimization8.4 0.0 exact-real VS optimizationSome numerical optimization methods implemented in Haskell
rampart8.3 0.0 exact-real VS rampart:european_castle: Determine how intervals relate to each other.
safe-decimal8.3 0.0 exact-real VS safe-decimalSafe and very efficient arithmetic operations on fixed decimal point numbers
equational-reasoningAgda-style equational reasoning in Haskell
type-natural8.2 0.0 exact-real VS type-naturalType-level well-kinded natural numbers.
bed-and-breakfast8.2 0.0 exact-real VS bed-and-breakfastMatrix operations in 100% pure Haskell
monte-carlo8.2 0.0 exact-real VS monte-carloA Monte Carlo monad and transformer for Haskell.
sbvPlugin8.2 5.3 exact-real VS sbvPluginFormally prove properties of Haskell programs using SBV/SMT.
simple-smt8.1 2.5 exact-real VS simple-smtA simple way to interact with an SMT solver process.
intervals8.1 0.0 exact-real VS intervalsInterval Arithmetic
Decimal8.1 0.0 exact-real VS DecimalDecimal numbers with variable precision
polynomial7.9 0.0 exact-real VS polynomialHaskell library for manipulating and evaluating polynomials
monoid-subclasses7.9 1.6 exact-real VS monoid-subclassesSubclasses of Monoid with a solid theoretical foundation and practical purposes
mltool7.9 0.0 exact-real VS mltoolMachine Learning Toolbox
eigen7.9 0.0 L2 exact-real VS eigenHaskel binding for Eigen library. Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
simd7.8 0.0 exact-real VS simdsimple interface to ghc's simd vector support
dimensions7.8 0.0 exact-real VS dimensionsMany-dimensional type-safe numeric ops
vector-th-unbox7.7 0.0 exact-real VS vector-th-unboxDeriver for unboxed vectors using Template Haskell
manifold-random7.7 4.2 exact-real VS manifold-randomCoordinate-free hypersurfaces as Haskell types
Access the most powerful time series database as a service
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of exact-real or a related project?
Exact real arithmetic implemented by fast binary Cauchy sequences.
Compare evaluating Euler's identity with a
Note that you'll need the
DataKinds extension turned on to evaluate the
examples in this readme.
λ> let i = 0 :+ 1 λ> exp (i * pi) + 1 :: Complex Float 0.0 :+ (-8.742278e-8)
... and with a
λ> import Data.CReal λ> let i = 0 :+ 1 λ> exp (i * pi) + 1 :: Complex (CReal 0) 0 :+ 0
CReal's phantom type parameter
n :: Nat represents the precision at which
values should be evaluated at when converting to a less precise representation.
For instance the definition of
x == y in the instance for
y at precision
n and compares the resulting
Integer to zero. I think that
this is the most reasonable solution to the fact that lots of of operations
(such as equality) are not computable on the reals but we want to pretend that
they are for the sake of writing useful programs. Please see the
Caveats section for more information.
CReal type is an instance of
Read. The only functions not
implemented are a handful from
RealFloat which assume the number is
implemented with a mantissa and exponent.
There is a comprehensive test suite to test the properties of these classes.
The performance isn't terrible on most operations but it's obviously not nearly
as speedy as performing the operations on
Double. The only two
super slow functions are
atanh at the moment.
The implementation is not without its caveats however. The big gotcha is that
although internally the
CReal ns are represented exactly, whenever a value is
extracted to another type such as a
Float it is evaluated to
2^-p of the true value.
For example when using the
CReal 0 type (numbers within 1 of the true value)
one can produce the following:
λ> 0.5 == (1 :: CReal 0) True λ> 0.5 * 2 == (1 :: CReal 0) * 2 False
Contributions and bug reports are welcome!
Please feel free to contact me on GitHub or as "jophish" on freenode.