RE: [PEAR-DEV] New package proposal: Math_Calculus
| From: | Jesus M. Castagnetto | Date: | Mon, 19 May 2003 22:38:41 +0000 |
| Subject: | RE: [PEAR-DEV] New package proposal: Math_Calculus | ||
| References: | 1 | Groups: | php.pear.dev |
| Request: | Send a blank email to pear-dev+get-16479@lists.php.net to get a copy of this message | ||
Hi Lukasz and Johannes,
--- Lukasz Karapuda <luke@thenewline.com> wrote:
> > Overall the idea is good. The implementation needs some work. For
> example,
> > a stable and reliable differentiation package could be use to solve
> funding
> > the roots of an equations using any of the well-known methods (e.g.
> > Newton-Raphson's).
>
> If you are considering developing a reliable and complete
> differentiation package, take a look at http://www.phpmath.com.
>
Sounds interesting. A more encompasing project than the 'Numeric PHP' (one that
I started eons ago, and now have terminated). Most of the code from that is in
PEAR now (see the Math_* packages).
> It's a
> major effort to create a complete mathematical toolkit for PHP (language
> based).
Went to the site, found not much information. In particular I was expecting to
see some downloadable code. I found the autocorrelation, distribution, and
linear regression stuff code (some of which can be factored out to other
packages, eg. Math_Stats in PEAR).
> I am one of the administrators, and currently we are looking at
> as many contributors as possible. Perhaps you could join our mailing
> list. We currently have implemented Simple Linear Regression, Matrix
> Operations and Linear Algebra.
I did not see any matrix operations code (see PEAR::Math_Matrix). Also, it
would be a good idea to use the PEAR Code Standards, for both the actual PHP
code and the code documentation. Also, you might consider creating a
package.xml so the classes can be installed using the PEAR installer.
Finally, why not consider to create a series of Math_* classes that can be
included/integrated in PEAR. Having a team of maintainers that can be grouped
under the phpmath.com site would be great, that way the code will be better and
the errors/bugs fewer. This can be done in two ways, by adding the packages as
they are approved to PEAR's CVS, or by keeping the code in a separate CVS and
releasing them via PEAR, or both ;-)
>
> Best Regards,
>
> __________________________________________
> Lukasz Karapuda [ lkarap00@mercyhurst.edu ]
> Mercyhurst Web Developer
> Y! lukaszkarapuda
>
>
> -----Original Message-----
> From: Johannes Schlueter [mailto:phpng@schlueters.de]
> Sent: Saturday, May 17, 2003 10:03 AM
> To: Jesus M. Castagnetto
> Cc: pear-dev@lists.php.net
> Subject: Re: [PEAR-DEV] New package proposal: Math_Calculus
>
> On Friday 16 May 2003 23:45, you wrote:
> > The class looks OK for simple functions withouth many singular points.
> > As it stands now, I would not recommend its inclusion in PEAR: -1
>
> Ok.
>
> > 1) The name of the class: Perhaps you will be better of having 2 or
> more
> > Math_Numerical_Differentiation, Math_Numerical_Integration, etc. Or
> how
> > about a Math_Numerical (or Math_NumericalMethod or
> Math_NumericalSolution?)
> > class that works as facade to the ones implementing the algorithms?
>
> Math_Numerical looks good, but then we need many method's with it, but
> I'll
> look how I can implement all useful Numerical Alogrithms with PHP ;-)
>
> > 2) The implementation of your differentiation function, if you are
> handed a
> > non-continuous function, then you will be in trouble using the simple
> > approach, w/o previously testing for continuity in the interval where
> you
>
> Yes, that's true. The version I posted was the work of very few hours,
> just
> for solving a problem I had. Therefore it worked. Then I saw there's no
> such
> thing for PEAR so I wrote some comments to see the reactions, imho it
> don't
> make sense spending hours of work if nobody wants it ;-)
>
> > are calculating the derivative. A look at:
> > http://lib-www.lanl.gov/numerical/index.html, and in
> > particular at:
> > http://lib-www.lanl.gov/numerical/bookfpdf/f5-7.pdf, will
> > surely help
> in
> > this respect. Might also need to be careful not to generate an
> floating
> > point overflow.
>
> The links look really interesting. All have a closer look over these an
> improve my code.
>
> > 3) The implementation of the Romberg's integration method tries to
> minimize
> > errors by using iterations of the trapezoidal rule. But for analytical
> > functions, you might be better using other approaches.
>
> Romberg'smethod was the one I've found most implementations for and the
> one
> I've understood easily ;-)
>
> > 4) The method that finds point of a function where the derivative is
> zero
> > is OK, but it is of no use if it is not coupled with one that find the
> > extrema (minima and maxima). Also, if might be better named
> > findZeroDerivative() instead. Of course you will need to define a
> second
> > derivative method for the extrema.
>
> Yes...
>
> > Overall the idea is good. The implementation needs some work. For
> example,
> > a stable and reliable differentiation package could be use to solve
> funding
> > the roots of an equations using any of the well-known methods (e.g.
> > Newton-Raphson's).
> >
> > The URL mentioned above has a lot of great numerical recipes. And as
> we
> > cannot add GSL to PECL due to licensing conflicts, perhaps
> implementing
> > them in PHP would be nice.
>
> If I'm going to implement all of them I'll never be bored again. And if
> I'm
> still bored I can implement it using BCMath, GMP and PEAR Math_Complex.
> ;-)
>
> johannes
>
=====
--- Jesus M. Castagnetto (jcastagnetto@yahoo.com)
Research:
http://metallo.scripps.edu/
Personal: http://www.castagnetto.org/
__________________________________
Do you Yahoo!?
The New Yahoo! Search - Faster. Easier. Bingo.
http://search.yahoo.com