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: Sat, 28 Mar 2015 13:28:49 +0100

On Sat, Mar 28, 2015 at 2:29 AM, Piotr Held <address@hidden> wrote:
>
>
> 2015-03-27 0:46 GMT-06:00 Juan Pablo Carbajal <address@hidden>:
>
>> 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
>
>
> Juan,
>
> Thanks a lot for all the information you sent me. I took a close look at the
> control package today.
>
> I posted my henon.m file in my project in the elaborate section. Here is
> also a link to it:
>
> http://agora.octave.org/snippet/hOzw/
>
> Could you comment on where the usage should be placed? Should it be in the
> comments section under texinfo, or should it be displayed the way I did it?
> Or is this irrelevant?
>
> I decided to start working on the Nonlinear noise reduction, since prior to
> getting your email I already started working on project.f. I started looking
> at how to make packages. And I have a few questions:
>
> 1. I have only used doxygen for documentation so far. From the packages I
> have looked at, they use texinfo, is that what I should be using as well? If
> yes, how do I actually generate the documentation? I tried to use 'makeinfo'
> on a m-file from the control package and it didn't really do anything.
>
> 2. As looked at the documentation I noticed some people, like the author of
> the Control package gives writes down each files version in the comments
> section, whereas other people like the author of actuarial does not. Which
> route should I take? Does it matter?
>
> 3. My plan was to make the fortran code "stupid" and do the input validation
> in the on the side of the C++ files. Is that a good approach?
>
> :)

Piotr,

Please always keep the mailing list in copy!

Thanks for the function. To learn how to use texinfo just look at
other functions. Check signal or geometry for example.
Also the error message is a little verbose. You better add that to the
help of the function and just use the error function.

At the moment we are going through the proposals and evaluating them.
The faster you can provide code, the more chances you have that we can
decide fairly.
Start the mercurial repo and upload your work, so at least we can see
what you have done, and how.

1. Texinfo is used for all octave. The documentation is parsed with
the function help on the prompt or if you want to have a separate
manual (which I wouldn't recommend since TISEAN already has a manual,
you can just have an user guide) check how it is done in the control
package, folder doc. We can do this at a later stage. for now try to
show us how you are able to code/port some functions.

2. It is up to you, usually those comments are automatically generated
with the tool you use to write the functions. I just keep the creation
date, the version is given by the version control system (i.e.
mercurial).

3. I am not sure I understand your idea. Best way to go is to provide
an example.

Cheers



reply via email to

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