octave-maintainers
[Top][All Lists]
Advanced

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

Re: Requesting an Octave mentor


From: Robert T. Short
Subject: Re: Requesting an Octave mentor
Date: Fri, 14 Aug 2009 10:49:18 -0700
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.22) Gecko/20090606 SeaMonkey/1.1.17

Jordi Gutiérrez Hermos wrote:
I hope it's ok if I respond to several people at once.

2009/8/13 Ben Abbott <address@hidden>:
  
I'll be of little help understanding the c++ sources, but regarding
something to work on, the listeners for the backend would be nice to
have. In particular having one to convert between the various units
would be great!

If you're not familiar with what I'm referring to, I can explain.
    

Alright, this sounds interesting. I really want Octave's plotting to
shine. This is likely to attract more people to the project. Yes,
please, I'd like more explanations. I'll contact you privately
momentarily to see if you have an IM account I can use for chatting
about this.

Or if IRC is convenient, maybe #octave in Freenode?

2009/8/13 Robert T. Short <address@hidden>:
  
In my case it is a case of the blind leading the blind, but I would be happy
to give this a try myself. Nothing teaches like teaching!
    

I agree. Perhaps you'd be more comfortable thinking of yourself as my
study buddy?

  
Also, if there is anything I can do to help if you like the stuff Ben is
looking at, that would be fine.
    

Let's do that. Let's work together with Ben.

2009/8/14 John W. Eaton <address@hidden>:
  
On 14-Aug-2009, Jaroslav Hajek wrote:

| That's easy - the whole lot of Octave sources is a horrible mess of
| ill-designed classes, random hacks, gotchas and incomprehensible
| blocks of unreadable code that you just hope are never actually
| executed.

Thanks.
    

I consider it a well-established theorem of software development that
everyone's code sucks. Jaroslav's, mine, yours, everyone's. ;-) Proof:
either you stick to a rigid design methodology or you adapt loose and
flexible coding standard. In the former case, you will eventually come
upon a situation where your original design isn't flexible enough, in
which case it sucks, and in the latter situation your design is a
horrible mess of ad-hoc hacks, which also sucks. QED.

No, but seriously, Octave's code is messy because it's trying to solve
many complicated problems, but despite that, to quote the bard, I know
that there is method in the madness, because I've seen you guys talk
about it, and because I've glimpsed it myself. I have also worked with
very messy source trees, but with a little dedication, I've seen the
patterns emerging.

All I'm asking for is a little help in seeing those patterns in Octave
sources. :-)

Hopefully Ben and Robert above can help me get started.

- Jordi G. H.


  
I am wondering exactly how to start.  We also had a request (attached at the end) from another potential contributor to whom this thread might be useful.

It took me a while to figure out enough of the interpreter to make changes myself.  I tend to be the "dig in all by myself and do it" sort of person, but I didn't find octave all that hard to figure out.  There is certainly some cruft, but that is the inevitable result of a project that has grown beyond the original design goals.

It would be nice to include the tutorial value of this thread somehow into formal documentation.  Comments?

Bob

P.S.  It is unlikely that I will use IM or other immediate response mechanism just because of the nature of my octave interaction.


Сергей Бочканов wrote:
Hello!

I want to help with improvement of the Octave.

I am author of the ALGLIB - open source project. ALGLIB is a numerical
analysis  library,  which  use  automatic  translation  from specially
designed  language to represent each algorithm in multiple programming
languages.   C++,   C#,  Pascal,  VBA  are  supported,  and  one  more
translation   mode  -  C++  with  multiple  precision  floating  point
arithmetics (GNU MP/MPFR).

I could help with integration of ALGLIB functionality in Octave.

In my opinion, you could use:
*  improved  hybrid  Levenberg-Marquardt algorithm (several times less
Hessian calculations due to quadratic model reuse)
*  interpolation  algorithms  -  barycentric  polynomial  (better than
standard  Neville  algorithm),  barycentric rational without poles and
with O(N) complexity
*  classification and regression algorithms - linear and logit models,
neural networks, neural network ensembles, random decision forests
* data analysis algorithms - LDA, PCA, k-means clustering
*  upcoming  release (algorithms are ready, I am working on docs) will
contain    improved    Gauss/Gauss-Kronrod    quadrature    generation
subroutines, FFT, fast convolution/correlation

These   are  the  most important algorithms. ALGLIB contains ever more
algorithms   (special   functions,   linear  algebra,  ...)  but  this
functionality is already implemented in Octave.

One  more  interesting  improvement is implementing multiple precision
calculations  in  Octave  using  GNU  MP  / MPFR libraries. Almost all
ALGLIB   algorithms   support   multiple   precision  arithmetics.  In
particular  -  linear  algebra algorithms; I've ported part of LAPACK,
small  part, but it is enough for daily work. As far as I know, MATLAB
does  not  support multiple precision arithmetics nor it have multiple
precision   linear  algebra/interpolation/integration/... Octave could
leave MATLAB far behind :)

I want to find someone interested in creating ALGLIB/Octave interface.
I   don't   know  Octave  internals, so I can't do it alone, but I can
help to someone who knows what to do.

Anyone interested?

With best regards,
Sergey Bochkanov.

  


reply via email to

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