= Laplace = Solves the [http://en.wikipedia.org/wiki/Laplace_equation Laplace equation] `u_xx + u_yy = 0` in a rectangular domain, by iteratively applying a stencil function. The first argument is the number of iterations to use. The second is a BMP file containing boundary conditions. {{{ repa-laplace 10000 pls-400x400.bmp pls-400x400-out.bmp }}} == Code == The main algorithm is at http://code.haskell.org/repa/repa-stable/repa-examples/Laplace/src/Solver.hs The wrapper is at http://code.haskell.org/repa/repa-stable/repa-examples/Laplace/src/Main.hs == Test Data == In the input file, greyscale gives the boundary conditions, blue specifies where to determine the solution. || pls-400x400.bmp || pls-400x400-out.bmp || || [[Image(Examples/Laplace:pls-400x400-thumb.png)]] || [[Image(Examples/Laplace:pls-400x400-out-thumb.jpg)]] || || [http://code.haskell.org/repa/wiki/images/pls-400x400.bmp full size] || [http://code.haskell.org/repa/wiki/images/pls-400x400-out.bmp full size] || == Runtime == Compiled with GHC 6.13.20100309. 400x400 image. 1000 iterations. Running on a Intel i7 iMac. 2.8Ghz, 4 cores x 2 threads/core. 256k L1, 8MB L2, 8GB main memory. Times stated include IO. || Threads || Time(s) || || 1 || 64.67 || || 2 || 37.29 || || 3 || 27.45 || || 4 || 31.96 || || 5 || 28.08 || || 6 || 24.39 || || 7 || 23.83 || || 8 || 24.67 ||