Boost logo

Boost Users :

Subject: Re: [Boost-users] GSOC 2011
From: Rafael González (rafael.gonz_at_[hidden])
Date: 2011-03-29 20:18:31


Hi Andrew

My name is Rafael Gonzalez. Basically I have three ideas and I would
like to know which one you could be interested in. These are: an
arbitrary precision library, a Monte Carlo method framework and a wave
propagation utility library.

The first one would be an implementation of arbitrary precision
arithmetic for C++. I checked the mailing list archives an I found that
the BigInt project was already taken for GSoC 2007 but I haven't found
usable code about it apart from that located in the repository of past
GSoCs (sandbox). So, in case this project is finished already I still
would like to propose a BigDecimal Java-like class [1]. This class will
provide an automatic handling of rounding the numbers and surpass the
limitations of the double data type. Also, I consider that the Java
class has a drawback: when you try to make a division that generates
repeating decimals and it is set to show the exact result, an exception
is thrown. So I think checking for a repeating decimal division and
giving the result in a rational form, continued fraction form or
periodical form (e.g. 1/7=142857...) can be very useful. I don't know if
this idea could be more proper for a Number Theory library, but this
could be a useful application for it (this was also proposed somewhere
in the mailing lists and is also a very interesting idea, mainly because
of the primality tests).

My second idea is a Monte Carlo simulation framework. It would be very
hard and maybe impractical to give a generalized form of a Monte Carlo
method, because at some point, the most time there will be specific ways
of processing samples. And I know that Boost have libraries for
statistics and random sampling, which is an important part. But some
applications for finances like risk management can make a good project
[2].

Finally, my third idea is about something I'm researching for my Phd
thesis. I'm defining my topic and despite I still don't have a title it
will be about methods for the simulation of electromagnetic propagation
applied to photonic crystals. I'm reading bibliography about it and I
know about the struggle beetween Finite Differences and Finite Elements
methods. I'm reading mostly about the FDTD (Finite Differences Time
Domain) using the Yee algorithm. This algorithm is highly centered on
electromagnetic waves and I would like to propose a set of structures
and algorithms to run it. This may not be new, but currently, almost
every software for this purpose is commercial. A free option is Meep
[3], a simulator made by people from the MIT. This one gives a simulator
and interfaces for Python an C++. Despite it is well documented, using
the Boost standards can be helpful for several people. This also can be
generalized and become the entry point for a PDE numerical solution
framework.

Those are my ideas, and I'll appreciate your feedback. Tell me if this
can be proposed for GSoC with Boost.

1.http://download.oracle.com/javase/1.5.0/docs/api/java/math/BigDecimal.html
2.http://www.amazon.com/Financial-Engineering-Stochastic-Modelling-Probability/dp/0387004513/ref=sr_1_1?s=books&ie=UTF8&qid=1301443672&sr=1-1
3.http://ab-initio.mit.edu/wiki/index.php/Meep

> > I would like to participate with Boost in GSOC 11. I have some ideas
> > about arbitrary precision and a Monte Carlo simulation framework. I've
> > already seen the time line and I know that applications begin today, so,
> > should I prepare it right now or I we have time to discuss it with
> > someone.
>
> Hi,
>
> It's helpful to actually propose your project on the mailing list,
> usually with a decent amount of detail so that potential mentors
> understand your goals. I'm curious to hear what kinds of features and
> applications you plan to support.
>
> Andrew

-- 
ISE Rafael González García
e-mail:  rafael.gonz_at_[hidden]
skype:  rafael.gonzalez86
mobile: +52 (044) 81 16 60 11 16

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net