Month: May 2012

Sage interview

May 30, 2012 Links No comments

There are not too many examples of sucessful open-source projects in scientific software. One of them is Sage, a mathematical software system aimed at creating a viable free open-source alternative to Magma, Maple, Mathematica and Matlab.

In a recent interview, the developers of Sage gave the following answer to the question Why do you consider free/libre open source software important for the advancement of your field?

[…] When we contribute to mathematics, it is important to contribute both the results and the methods. When software plays an essential role in research, this is a valuable part of the public contribution. If other mathematicians can’t learn how it works, modify it, and use it for new purposes, then there is a serious loss of value.

[…] Second topic: Unifying the ecosystem. There are several different commercial software tools. Software libraries developed by one research group based on one of them is unusable by other research groups. Students and universities don’t have the money to finance all of this. A unified ecosystem also has the advantage that anyone can better understand the code written by others.

[…] Third topic: Quality of research. If you consider including your code directly into the code of the whole Sage project, it will be part of it for the foreseeable future. This means, the code must meet a certain level of quality and there need to be a set of tests for each part of the contributed code. In preparation for each new release of Sage, it is made certain, that all those tests pass on all supported systems. Therefore, your code continues to be functional and probably actively maintained, even though you have stopped working on it. This is very different from the following situation, where you publish a half-working code once on your private website, and stop maintaining it.

[…] Fourth topic: Accessibility (Cost). We want the code we write to be usable by students or researchers without access to large department budgets. People who can’t (or don’t want to) afford an expensive software license are restricted from using work developed for that software. This is a restriction on users and on developers. Also, a related example are 3rd world and emerging countries. Just think about the importance of the freely accessible Wikipedia for education via projects like e.g. OLPC. The very same holds true for higher education and in our case for the accessibility to advanced mathematical software.

Naturally, some of this discussion applies to Madagascar as well.

Sage Madagascar
First public release 2005 2006
Main language Python C
License GPL GPL
Lines of code (per ohloh.net) nearly 500,000 more than 500,000
Contributors (per ohloh.net) more than 500 more than 50
User mailing list more than 2,000 (sage-support) more than 200 (RSF-user)
Developer mailing list nearly 1,500 (sage-devel) more than 70 (RSF-devel)

For integration of Madagascar and Sage, one can use the Python interface.

Summer meetings

May 16, 2012 Celebration No comments

The following Madagascar-related meetings are taking place this summer. Workshop 16 at the 2012 EAGE Annul Meeting in Copenhagen, Denmark, is titled Open-source E+P Software – Six Years Later and scheduled on Friday, June 8. The title refers to an analogous workshop in Vienna in 2006, where Madagascar was first publicly announced. The workshop is organized by Joseph Dellinger, Karl Schleicher, Helene Huck, and Tariq Alkhalifah and features an extensive program with multiple presentations. This year’s Madagascar School and Workshop will take place in Austin, Texas, on Friday-Saturday July 20-21. Please reserve the date and wait for the announcement of the program and registration details.

Nonhyperbolic CRS

May 3, 2012 Documentation No comments

A new paper is added to the collection of reproducible documents:
Non-hyperbolic common reflection surface

Lowrank wave extrapolation

May 3, 2012 Documentation No comments

A new paper is added to the collection of reproducible documents:
Seismic wave extrapolation using lowrank symbol approximation

Program of the month: sfderiv

May 1, 2012 Programs 14 comments

sfderiv applies the first derivative filter.

The algorithm implemented in this program is described in the paper

Pei, S.-C., and P.-H. Wang, 2001, Closed-form design of maximally flat FIR Hilbert transformers, differentiators, and fractional delayers by power series expansion: IEEE Trans. on Circuits and Systems, v. 48, No. 4, 389-398.

It is based on the Taylor expansion of the inverse sine function
$$\arcsin{x} = \displaystyle \sum_{n=0}^{\infty} \frac{(2n)!}{4^n\,(n!)^2\,(2n+1)}\,x^{2n+1}$$
which turns into an expansion of the ideal derivative filter into a chain of digital filters. The order= parameter controls the order of the expansion and the accuracy-efficiency trade-off. The following example from rsf/rsf/sfderiv shows the frequency responses and the impulse responses for differentiators of different orders

An alternative is sfigrad, which implements a simple first-order derivative. igrad is more efficient and adequate when computing derivatives of smooth functions.

Previous programs of the month

Performance evaluation of SU and Madagascar

May 1, 2012 Links No comments

The paper Performance Evaluation of Open Source Seismic Data Processing Packages by Izzatdin A. Aziz, Andrzej M. Goscinski, and Michael M. Hobbs from Deakin University was presented at the 11th International Conference on Algorithms and Architectures for Parallel Processing (ICA3PP 2011).

“The goal in this paper was to demonstrate the capability of open source packages, SU and Madagascar, to execute a sequence of seismic functions representing the actual industrial work process. We succeeded in this by conducting two sets of tasks. First, the investigation of the problem, whether or not open source seismic data processing packages can be executed using the same set of seismic data through data format conversions. Second, whether or not they can achieve reasonable performance and speedup when execute parallel seismic functions on a HPC cluster.”