June 2008 Archives

Week 5 report

| | Comments (0) | TrackBacks (0)
This week I was planning to work on Fast Fourier Transform, Discrete Fourier Transform and Discrete Hankel Transform subsystems but they all contain functions which need to input or output arrays, thing we aren't able to do at the moment with swig. I wrote a message to the swig-user mailing list for help/tips but I haven't received a response yet. I then worked on BLAS and CBLAS subsystems which are the next subsystems we want to work on but they also had problems such as no test suite in the gsl source, so Jonathan proposed me that I work on it later. I also changed some documentation and tried to fix the tests inside Linalg and Eigen subsystems. I succeded in fixing a few tests but some of them still fail, mainly inside Linalg. Within all this search for tests problems, I found out that the gsl_vector_complex functions were not added yet to the Vector subsystem, so I added them.

We plan to put our module on CPAN after we'll have cleaned most of the failing tests. I'll also write a function is_similar_relative to test relative error like the gsl linalg test suite does.
I'm getting better with the vim editor, I even now have access to the vim manual from O'reilly editions. I refer to it very often.

The next week will be a week to concentrate on adding more tests, examples and documentation to all the subsystems we worked on so far. I've spotted a few subsystems which will need some more work this week such as Poly.

week 4 - report

| | Comments (0) | TrackBacks (0)
This week I worked on CDF, Linear Algebra and Eigensystems. I almost finished the documentation for CDF and Eigensystems, I just need to had some examples. However, Linear Algebra and Eigensystems need more tests. I'll try to finish them in the next days. Linear Algebra took longer than I tought. Testing these functions has been long and panifull because we needed to get data from maple and then write the tests to see if the output from GSL was the same as Maple. I tought of an other way to tests the decomposition functions which should make the next tests easier : I will the decomposition matrices and then recompose them and check if the result is the same as the original.

While working on the Linear Algebra subsytems I found that we haven't added yet the gsl_matrix_complex functions in the Matrix subsystem. I also found that these functions weren't documented inside GSL official documentation. I added the functions to Matrix and I contacted the GSL librairy developer to see if I could help them to document theses functions since I'll documented them anyway in the Matrix POD.

I also learned some new stuff in mathematics such what are an hermitician matrix, superdiagonal and subdiagonal. This is pretty simple things but I haven't got the chance to work with these concepts in my university courses yet.

In the following week I'll try to finish the parts of the subsystems I haven't finished in the last week and I'll work on, Fast Fourier Transform, Discrete Fourier Transform and Discrete Hankel Transform subsystems.

Gitweb is active

| | Comments (0) | TrackBacks (0)
I finally got around to setting up gitweb for Math-GSL, it was simply a matter of reading the source of gitweb.cgi to understand what it was doing and figuring out that "git" was not in the $PATH of my webserver.

Make sure to check out the "bleed" branch for the latest development. I am gearing up to put our first release on CPAN to see how the CPANTesters put it through the gauntlet. It will be interesting to see how many of them meet the build requirements of SWIG+GSL.

Week 3 - Report

| | Comments (0) | TrackBacks (0)
This week I worked on the documentation of all the preceding subsystem I worked on while following the timeline. I cleaned up the PODs with the help of a new typemap for a vim written by Jonathan which made the testing far easier. I also checked the html versions of the PODs with the pod2html function. I think including html documentation inside the source would be a good thing to simplify the access to the documentation and also to put it on the web. This week I also added some more tests to some subsystem, including Permutations. I included the Permute subsystem into the Permutation subsystem to simplfy the usage of both. I changed the tests of some subsystems from Test::Simple to Test::Class because it makes testing easier on some functions.

I've learn various simples things this week such as how to remove files from a git repository and using typemaps from swig. We've encountered some problem concerning typemaps with swig and I spent 2 afternoon working/understanding how to work with typemaps. Jonathan helped me a lot on that part. I still have a problems on how to write a typemaps to return value by an array but Jonathan will also help me on that part and I'll do some more searching on my side.

The next week I'll work mainly on the CDF, Linear Algebra and Eigensystems subsystems. Linear Algebra is a quite important subsystems since it contains functions which can make much more complex operations on matrices.

Perl 5.8.8 compile issues with SWIG

| | Comments (0) | TrackBacks (0)

I just installed a fresh Ubuntu 8.04 system, which comes with Perl 5.8.8 by default. Using gcc 4.2.3/swig 1.3.33 I get the following build failure:


gcc -I/usr/lib/perl/5.8/CORE -c -shared -Wall -fpic -Dbool=char -I/usr/local/include/ -Wno-strict-aliasing -Wno-unused-function -Wno-unused-value -Wno-unused-function -Wno-unused-variable -o BLAS_wrap.so BLAS_wrap.c
In file included from /usr/lib/perl/5.8/CORE/op.h:497,
                 from /usr/lib/perl/5.8/CORE/perl.h:2754,
                 from BLAS_wrap.c:709:
/usr/lib/perl/5.8/CORE/reentr.h:612: error: field '_crypt_struct' has incomplete type
In file included from /usr/lib/perl/5.8/CORE/perl.h:3950,
                 from BLAS_wrap.c:709:
/usr/lib/perl/5.8/CORE/proto.h:297: error: expected declaration specifiers or '...' before 'off64_t'
/usr/lib/perl/5.8/CORE/proto.h:299: error: expected '=', ',', ';', 'asm' or 'attribute' before 'Perl_do_sysseek'
/usr/lib/perl/5.8/CORE/proto.h:300: error: expected '=', ',', ';', 'asm' or 'attribute' before 'Perl_do_tell'
/usr/lib/perl/5.8/CORE/proto.h:2004: error: expected '=', ',', ';', 'asm' or 'attribute' before 'Perl_PerlIO_tell'
/usr/lib/perl/5.8/CORE/proto.h:2005: error: expected declaration specifiers or '...' before 'off64_t'
Use of uninitialized value in concatenation (.) or string at /home/leto/git/Math-GSL/_build/lib/MyModuleBuilder.pm line 173.
error building  file from 'BLAS_wrap.c' at /home/leto/git/Math-GSL/_build/lib/MyModuleBuilder.pm line 173.


But with Perl 5.10.0 it builds fine, any ideas?

week 2 report

| | Comments (0) | TrackBacks (0)
This week I worked on Vector, Matrix, Complex and Permutation. I added a lot of documentation to Complex in particular and I think it will be a good reference for other subsystems documentation. However I still need to understand how to write POD in more clean way and how to make it more HTML usable. As Jonathan pointed me earlier today, the documentation is what is the user sees the most of the module and the quality of what we do will be mainly seen by how to documentation looks/works.

This week I also realized that I'm getting a lot faster with vim. The command are getting natural and Jonathan gave me some new bindings for running the tests for the subsystems directly from vim (with coloration in bonus!) I'm also getting familiar with how Test::Class works, the setup and teardown part in particular are really useful. I'm getting used to put map everywhere I would have used a for or while loop. I was a bit suspicious about it's utility at first but I went over that feeling and I couldn't code in Perl without it now.

I added a lot of tests to mostly all the subsystems I worked on this week. Next week I'll concentrate more on the documentation part, on the other subsytems that are planed in the timeline for that week and on some issues which could be solved with swig typemaps.

week 1 report

| | Comments (0) | TrackBacks (0)
This week I worked on the Polynomials, Complex numbers and Special Functions. I completed the documentation for each of these subsytems but they may need some modifications to be more usable. I also added tests for these subsytems. For the moment we have about 2199 tests and only 2 failing.

I used Maple to get the result that some functions should output and I created tests from this data. We also had problems with some crashes with the Poly but Jonathan fixed them.

So the Polynomials, Complex numbers and Special Functions and subsystems are now usable and should work fine. However, we'll probably add more tests in the next weeks to tests them deeper. Enjoy!

About this Archive

This page is an archive of entries from June 2008 listed from newest to oldest.

May 2008 is the previous archive.

July 2008 is the next archive.

Find recent content on the main index or look in the archives to find all content.

Screw you, spammers! Clicky Web Analytics