summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorAlberto Ruiz <aruiz@um.es>2007-10-24 09:42:36 +0000
committerAlberto Ruiz <aruiz@um.es>2007-10-24 09:42:36 +0000
commit2e441c3f4d08da050540256164456e18519d22ef (patch)
treefaae9372692ac8b618337b3e97f8ff9d44df2d08 /README
parent9c65a03f4e2b3b09f6f2ac606c5b22f6df9cea14 (diff)
documentation
Diffstat (limited to 'README')
-rw-r--r--README62
1 files changed, 34 insertions, 28 deletions
diff --git a/README b/README
index e2b7aa3..f117a26 100644
--- a/README
+++ b/README
@@ -1,3 +1,6 @@
1A simple scientific library for Haskell
2---------------------------------------
3
1REQUIREMENTS 4REQUIREMENTS
2 5
31) GNU Scientific Library (http://www.gnu.org/software/gsl) development packages 61) GNU Scientific Library (http://www.gnu.org/software/gsl) development packages
@@ -7,19 +10,20 @@ REQUIREMENTS
7 10
8INSTALLATION 11INSTALLATION
9 12
10(More detailed information is included in the "tutorial",
11available in the web page of the project.)
12
13$ runhaskell Setup.lhs configure --prefix=$HOME 13$ runhaskell Setup.lhs configure --prefix=$HOME
14$ runhaskell Setup.lhs build 14$ runhaskell Setup.lhs build
15$ runhaskell Setup.lhs haddock 15$ runhaskell Setup.lhs haddock
16$ runhaskell Setup.lhs install --user 16$ runhaskell Setup.lhs install --user
17 17
18See below for installation on Windows.
19
18USING ATLAS 20USING ATLAS
19 21
20$ ln -s /usr/lib/atlas/libblas.so.3.0 $HOME/lib/hssl-0.1/ghc-6.6.1/libcblas.so 22$ ln -s /usr/lib/atlas/libblas.so.3.0 $HOME/lib/hssl-0.1/ghc-6.6.1/libcblas.so
21$ ln -s /usr/lib/atlas/liblapack.so.3.0 $HOME/lib/hssl-0.1/ghc-6.6.1/liblapack.so 23$ ln -s /usr/lib/atlas/liblapack.so.3.0 $HOME/lib/hssl-0.1/ghc-6.6.1/liblapack.so
22 24
25(More info in the tutorial, available from the web page of the project.)
26
23TESTS 27TESTS
24 28
25$ runhaskell examples/tests.hs 29$ runhaskell examples/tests.hs
@@ -46,10 +50,12 @@ Prelude Numeric.LinearAlgebra> u <> d <> trans v
46Prelude Numeric.GSL> :q 50Prelude Numeric.GSL> :q
47Leaving GHCi. 51Leaving GHCi.
48 52
53A few illustrative programs are included in the examples folder.
54
49CHANGES 55CHANGES
50 56
51This is a new version of GSLHaskell. The package is (provisionally) 57This is a new version of GSLHaskell. The package is provisionally
52called \C{hssl} (a simple scientific library for Haskell) because only 58called "hssl" (a simple scientific library for Haskell) because only
53a small part of GSL is available and linear algebra is based on LAPACK. 59a small part of GSL is available and linear algebra is based on LAPACK.
54 60
55The code has been extensively refactored. There is a new internal representation 61The code has been extensively refactored. There is a new internal representation
@@ -57,35 +63,18 @@ which admits both C and Fortran matrices and avoids many transposes.
57 63
58There are only minor API changes: 64There are only minor API changes:
59 65
60- the matrix product operator \C{(<>)} is now overloaded only for matrix-matrix, 66- The matrix product operator (<>) is now overloaded only for matrix-matrix,
61matrix-vector and vector-matrix, with the same base type. The dot product and the scaling 67 matrix-vector and vector-matrix, with the same base type. Dot product and scaling
62of vectors or matrices is now denoted by `dot` and `scale`. Conversions from real to 68 of vectors or matrices is now denoted by `dot` or (<.>) and `scale` or (.*).
63complex objects must be explicit. 69 Conversions from real to complex objects must now be explicit.
64 70
65- Most linear algebra functions admit both real and complex objects. Utilities such as 71- Most linear algebra functions admit both real and complex objects. Utilities such as
66ident or constant are now polymorphic. 72 ident or constant are now polymorphic.
67 73
68- Runtime errors produced by GSL or LAPACK can be handled using \C{Control.Exeception.catch}. 74- Runtime errors produced by GSL or LAPACK can be handled using Control.Exeception.catch.
69 75
70Old GSLHaskell code will work with small modifications. 76Old GSLHaskell code will work with small modifications.
71 77
72ACKNOWLEDGEMENTS
73
74I thank Henning Thielemann and all the people in the Haskell mailing lists for their help.
75
76- Nico Mahlo discovered a bug in the eigendecomposition wrapper.
77
78- Frederik Eaton discovered a bug in the design of the wrappers.
79
80- Eric Kidd has created a wiki page explaining the installation on MacOS X:
81 http://www.haskell.org/haskellwiki/GSLHaskell_on_MacOS_X
82
83- Fawzi Mohamed discovered a portability bug in the lapack wrappers.
84
85- Pedro E. López de Teruel fixed the interface to lapack.
86
87- Antti Siira discovered a bug in the plotting functions.
88
89INSTALLATION ON WINDOWS 78INSTALLATION ON WINDOWS
90 79
911) Download the developer files gsl-1.8-lib.zip from 801) Download the developer files gsl-1.8-lib.zip from
@@ -109,3 +98,20 @@ INSTALLATION ON WINDOWS
109Unfortunately the lapack dll supplied by the R system does not include zgels_ and zgelss_, 98Unfortunately the lapack dll supplied by the R system does not include zgels_ and zgelss_,
110so the functions depending on them (linearSolveLS and linearSolveSVD for complex data) 99so the functions depending on them (linearSolveLS and linearSolveSVD for complex data)
111will produce a "non supported" runtime error. 100will produce a "non supported" runtime error.
101
102ACKNOWLEDGEMENTS
103
104I thank Henning Thielemann and all the people in the Haskell mailing lists for their help.
105
106- Nico Mahlo discovered a bug in the eigendecomposition wrapper.
107
108- Frederik Eaton discovered a bug in the design of the wrappers.
109
110- Eric Kidd has created a wiki page explaining the installation on MacOS X:
111 http://www.haskell.org/haskellwiki/GSLHaskell_on_MacOS_X
112
113- Fawzi Mohamed discovered a portability bug in the lapack wrappers.
114
115- Pedro E. López de Teruel fixed the interface to lapack.
116
117- Antti Siira discovered a bug in the plotting functions.