Just posted two packages to the Hackage. My intentions to it was that
from now everyone from Haskell community can simply google for "Haskell integration
of complex functions" and It will be clear as a day that package complex-integrate
provides them with needed functionality. Second package is a library with implementation
of Theta functions. Hope it helps someone. Details below.
Integration of complex functions
Module for integration of complex functions, which I wrote from scratch because
every numeric library I found (including numeric-tools) could calculate
only integrals of real-valued functions. I placed it under Data.Complex.Integrate,
but maybe there are more suitable place to such a module. It exports a single
function called integrate. Package was called complex-integrate. Today I uploaded
it to http://hackage.haskell.org/package/complex-integrate
Implementation of Theta-functions
Module with implementation of theta-functions, special complex function of
two variables. Details can be found at http://en.wikipedia.org/wiki/Theta_function.
I placed it under Numeric.Functions.Theta. It exports four theta-functions
and a small helper to calculate their second parameter. Package was called
theta-functions. Today I uploaded it to http://hackage.haskell.org/package/theta-functions
Today I am packaging some modules used by AFCALC and my own writings.
In the AFCALC GitHub repo I am placing the Wiki page which lists every
external link relevant to the project. Also I plan to write a short article
explaining what's going on in AFCALC to the wide public.
Initial paper which was used as an article accompanying my diploma project
was uploaded to Scribd: Numerical Modelling of the 2D Explosion of the Elliptic
Charge using the Multithreading
Integration module which bundled with AFCALC will be published with the name
Data.Complex.Integrate to the HackageDB.
Theta module which bundled with AFCALC and used by the reference model will
be published with the name
Numeric.Functions.Theta to the HackageDB.
I'll cabalize Integrate and Theta right after finishing this post.
Well, AFCALC development goes smoothly and I reached the important milestone.
Code base substantially shrunk — I was mostly fixing bugs, not adding features.
AFCALC now equipped with one testing model with exp() as transforming function
and one real-world model of explosion made in 1970's by Kotlyar L. M..
It's successfully plotting the simplified version of Kotlyar's model, and it
is very promising result.
I want to pass the following milestones:
- Plotting of full model of Kotlyar's model. It is very important, because there exists the process of calculating the series of additional coefficients for correction function and I want it decoupled from model and added to AFCALC core.
- Simultaneous building of three binaries with
make: one with autotests, one with interactive session and one which plots the whole bunch of charts with different model parameters.
Tomorrow will be the day which gives me plot of full Kotlyar's model.
My current science research (in pursue of Ph.D degree) is in field of mathematical
physics. I am doing some cool stuff with representing the processes of explosion,
filtration and electrochemistry as flows of ideal liquid. There are some hard-boiled
math with Complex Complex-value functions. Project is a program in Haskell
to be able to set initial parameters and get a schematic chart representing
the final area and edges of process. Finding precise form of edges (coordinates
of points at edges) is the current goal.
To make my work public I set up a project at GitHub. Just updated it with READMEs
and such. You may look at draft theses in
article/ directory. They are in
Russian, however. I plan to make an international version when there will be
Project is here: AFCALC at GitHub.