octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Interested in TISEAN package for GSoC


From: Juan Pablo Carbajal
Subject: Re: Interested in TISEAN package for GSoC
Date: Fri, 27 Mar 2015 07:46:06 +0100

On Fri, Mar 27, 2015 at 7:05 AM, Juan Pablo Carbajal
<address@hidden> wrote:
> On Fri, Mar 27, 2015 at 7:00 AM, Juan Pablo Carbajal
> <address@hidden> wrote:
>> On Fri, Mar 27, 2015 at 3:24 AM, Piotr Held <address@hidden> wrote:
>>> I am sorry, I didn't realize I could edit the proposal. Nevermind then on
>>> the first question.
>>>
>>> 2015-03-26 20:19 GMT-06:00 Piotr Held <address@hidden>:
>>>
>>>> Juan,
>>>>
>>>> Thanks for the tips. I think I now have an idea how to complete this
>>>> project.
>>>>
>>>> I am aware that the deadline is tomorrow. That is why I submitted a
>>>> proposal on melange, that does not really have a timeline (as I did not
>>>> fully understand how to tackle the problem). My wiki page is better in that
>>>> matter. Should I submit another application on melange that is better, or 
>>>> is
>>>> it enough that my wiki page is complete?
>>>>
>>>> Do you know of any other libraries that link fortran to oct files? I would
>>>> appreciate the extra examples, if I could get a hold of some.
>>>>
>>>> Also could you give me any tips concerning my wiki page? Should some topic
>>>> be discussed more thoroughly?
>>>>
>>>> :)
>>>>
>>>> 2015-03-26 6:12 GMT-06:00 Juan Pablo Carbajal <address@hidden>:
>>>>
>>>>> On Thu, Mar 26, 2015 at 12:38 PM, Juan Pablo Carbajal
>>>>> <address@hidden> wrote:
>>>>> > Please keep the mailing list always in copy.
>>>>> >
>>>>> > On Thu, Mar 26, 2015 at 2:15 AM, Piotr Held <address@hidden> wrote:
>>>>> >> Hi,
>>>>> >>
>>>>> >> I implemented the 'henon' function like you suggested, that is as a
>>>>> >> m-file.
>>>>> >> What should I do with it? Should I send it to you? Should I upload it
>>>>> >> somewhere?
>>>>> >>
>>>>> > You can create a repository in Bitbucket (using mercurial).
>>>>> >
>>>>> >> The way TISEAN was interfaced with Octave in that tutorial is really
>>>>> >> just
>>>>> >> calling the library from the system and reading the output. Is that
>>>>> >> how this
>>>>> >> project is suppose to be implemented?
>>>>> > Absolutely not!
>>>>> > Either link to the existing FORTRAN code and/or re-implement in C++.
>>>>> >
>>>>> > If not, where can I read about other
>>>>> >> ways of connecting separate libraries to Octave. Would looking at how
>>>>> >> the
>>>>> >> control package was incorporated into Octave help in understanding
>>>>> >> what
>>>>> >> options there are out there?
>>>>> > Yes, looking at the control package will definitely help.
>>>>> > You can look at the Octave manual
>>>>> > https://www.gnu.org/software/octave/doc/interpreter/Oct_002dFiles.html
>>>>> >
>>>>> >>
>>>>> >> Should I try to create a list of which functions I would like to
>>>>> >> incorporate
>>>>> >> and in what order? And should I post that list on my octave wiki?
>>>>> > You will have to write an application to be selected for SoC, add this
>>>>> > list and a description of your plan to that application
>>>>> > Check the intro of this page
>>>>> > http://wiki.octave.org/Summer_of_Code_Project_Ideas
>>>>> >
>>>>> >>
>>>>> >> :)
>>>>> >>
>>>>> >>
>>>>> >> 2015-03-25 7:09 GMT-06:00 Juan Pablo Carbajal <address@hidden>:
>>>>> >>
>>>>> >>>
>>>>> >>>
>>>>> >>> On Tue, Mar 24, 2015 at 11:33 PM, Piotr Held <address@hidden>
>>>>> >>> wrote:
>>>>> >>>>
>>>>> >>>> Hello,
>>>>> >>>>
>>>>> >>>> I am interested in doing this project for GSoC. I have some
>>>>> >>>> experience in
>>>>> >>>> programming in C++ but have never done anything with Fortran. I
>>>>> >>>> thought this
>>>>> >>>> would be interesting to contribute because I can learn about how to
>>>>> >>>> make a
>>>>> >>>> package for Octave.
>>>>> >>>>
>>>>> >>>> So far I have compiled Octave from the sources successfully and have
>>>>> >>>> been
>>>>> >>>> playing around with it a bit.
>>>>> >>>>
>>>>> >>>> I was wondering what should be my next step?
>>>>> >>>
>>>>> >>>
>>>>> >>> Hi,
>>>>> >>>
>>>>> >>> Thanks for your interest.
>>>>> >>> The next step would be to download TISEAN
>>>>> >>> http://www.mpipks-dresden.mpg.de/~tisean/archive_3.0.0.html
>>>>> >>>
>>>>> >>> Compile it and get acquainted with the tutorials and functions
>>>>> >>> interfaces
>>>>> >>> http://www.mpipks-dresden.mpg.de/~tisean/Tisean_3.0.0/
>>>>> >>>
>>>>> >>> This step is requiered before you make any implementation decision.
>>>>> >>>
>>>>> >>> You could also understand how TISEAN was interfaced with
>>>>> >>> Octave/Matlab in
>>>>> >>> the past to decide which functions you want to port first.
>>>>> >>>
>>>>> >>> http://www.agnld.uni-potsdam.de/~marwan/matlab-tutorials/html/tisean.html
>>>>> >>>
>>>>> >>> Note that there are many functions in the package (e.g. dynamical
>>>>> >>> functions like henon, etc...) that do not need to be ported to C++
>>>>> >>> since
>>>>> >>> they can be easily implemented in octave. That is this functions can
>>>>> >>> be come
>>>>> >>> .m files, so maybe you want to start there once you are acquainted
>>>>> >>> with the
>>>>> >>> package.
>>>>> >>>
>>>>> >>> Cheers
>>>>> >>>
>>>>> >>
>>>>> >
>>>>> > Good luck!
>>>>>
>>>>> Piotr I am copy information form the other discussion regarding GSoC.
>>>>>
>>>>> The application deadline is tomorrow.  We then have until 13 of April to
>>>>> rank
>>>>> and select students.
>>>>> As far as I am aware, no one else is applying for this project.  But
>>>>> please, do not think that there's a slot for every project, or that we
>>>>> will select a student just because there's no one else.
>>>>
>>>>
>>>
>>
>> Piotr,
>>
>> Please answer at the bottom of the message or interleave your answer
>> with previous mails. This is to make easier the reading of the
>> archives.
>>
>> What is your username in the wiki?
>> Did you send your proposal to GNU Project?
>>
>> If you live in a ESA collaborating country you might also start your
>> application for SoCiS.
>
> I found your Melange application.

Piotr,

I read both of your proposals. They look good. However, it would be
good if you could give more details on your approach to the problem.
I think your first steps were really good: get in touch, look at the
code, try to learn what you need. At some point it would be good to
know how you plan the activities (it wont be written in stone, is just
to have a guideline and an impression of how you want to proceed). We
can iterate over that plan before you start coding.

I personally prefer a solid start rather than volume of work. That is,
porting a small fraction of TISEAN would be enough, as long as it is
well documented and the decision on what will be ported by linking
FORTRAN code, what will be re-implemented in C++, and what will be
implemented as m-files is clear.
For example, you could go through the TISEAN manual and choose the
chapter that interest you the most (e.g. Testing for nonlinearity) and
list the functions that are needed. Then you could make a list of
those functions, indicating which are in FORTRAN and which in C and
which wont be ported because they can be implemented directly as
m-file using GNU Octave code. This would be a nice addition to your
proposal (do not over do it!).

Regarding learning how to do a package you can start in the manual
https://www.gnu.org/software/octave/doc/interpreter/Packages.html
And of course look at the many examples in the projects
https://sourceforge.net/p/octave/_list/hg?source=navbar
I recommend you look at signal, control, image, linear-algebra and/or
optim. I made geometry based on older packages (I think it will need
an improvement for Octave 4.0.0), and it uses the idea of subpackages
(which is a very useful hack).

Another package that uses FORTRAN (90) is optiminterp. The package
odepgk shows how to apply patches to FORTRAN files before compiling
for octave. There might be other FORTRAN packages but I am not aware
of them. Feel free to crawl the repository.

Please do share the function henon function. If you haven't set a
repository yet you can upload the file to Agora
http://agora.octave.org/snippet/
and send the link

Cheers



reply via email to

[Prev in Thread] Current Thread [Next in Thread]