Return-Path: Delivered-To: apmail-jakarta-commons-dev-archive@apache.org Received: (qmail 42921 invoked from network); 26 May 2003 00:09:55 -0000 Received: from exchange.sun.com (192.18.33.10) by daedalus.apache.org with SMTP; 26 May 2003 00:09:55 -0000 Received: (qmail 18133 invoked by uid 97); 26 May 2003 00:12:12 -0000 Delivered-To: qmlist-jakarta-archive-commons-dev@nagoya.betaversion.org Received: (qmail 18126 invoked from network); 26 May 2003 00:12:11 -0000 Received: from daedalus.apache.org (HELO apache.org) (208.185.179.12) by nagoya.betaversion.org with SMTP; 26 May 2003 00:12:11 -0000 Received: (qmail 42656 invoked by uid 500); 26 May 2003 00:09:53 -0000 Mailing-List: contact commons-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Jakarta Commons Developers List" Reply-To: "Jakarta Commons Developers List" Delivered-To: mailing list commons-dev@jakarta.apache.org Received: (qmail 42645 invoked from network); 26 May 2003 00:09:53 -0000 Received: from web41308.mail.yahoo.com (66.218.93.57) by daedalus.apache.org with SMTP; 26 May 2003 00:09:53 -0000 Message-ID: <20030526001001.68732.qmail@web41308.mail.yahoo.com> Received: from [68.164.24.61] by web41308.mail.yahoo.com via HTTP; Sun, 25 May 2003 17:10:01 PDT Date: Sun, 25 May 2003 17:10:01 -0700 (PDT) From: Al Chou Subject: Re: [math] Greetings from a newcomer (but not to numerics) To: Jakarta Commons Developers List In-Reply-To: <3ED1405E.8040309@steitz.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N --- Phil Steitz wrote: > Al Chou wrote: > > ... I'm heavy on > > practice and light on theory, though I audited every numerical computing > class > > offered, both undergrad and grad, when I was at UCLA. So, I won't be of > much > > use proving things, but I hope my experience in evaluating algorithms' > > appropriateness for specific problems based on careful reading and thought > will > > help out the project. > > > > I am certain that it will. I also have a fair amount of applied > experience, but most of it in other languages (probably obvious from my > code -- he he) and a few years back (like my mathematical career). This > will be interesting. Cool. All my numerical code in grad school was in Pascal(!) and FORTRAN 77, but since then I've written in neither of those. Ruby is my language of choice these days, though I started with sed, AWK, and PERL in grad school and have learned enough TCL, VBScript, and Python to be dangerous to myself. I've coded some in Java and was heavily into trying to be well-read in Java and C++ a couple of years ago but have given that up for the time being. I also spent many hours on the train learning Scheme from _The Scheme Programming Language_ (http://www.scheme.com/tspl2d/index.html) on my Handspring but never quite got the hang of doing things recursively as required by the exercises. > > * Newton's method for finding roots > > [ADC] It would also be good to provide the contextual infrastructure > > (bracketing a root) as well as methods that don't rely on being able to > compute > > the derivative of the function. Someday I would also like to re-create a > > complex equation solver based on inverse quadratic interpolation (sadly, I > > can't remember the original author's name) I once had in my toolkit. > > Yes. One thing that I am struggling with here is how to do something > simple and useful without function pointers. How should we think about > the interface for rootfinding (however we do it) in Java? I'm accustomed to the equivalent of a function pointer being used in FORTRAN. Is passing as a parameter an object that has methods to provide the required function values (and derivative[s] if necessary) not a good model? > > * Exponential growth and decay > > [ADC] Not sure what is supposed to be provided here. > > Just simple computations to support mostly financial applications. Beyond computing a * exp( b * x ) I can't picture what is needed here. Can you please give an example? > > * Polynomial Interpolation (curve fitting) > > [ADC] Rational function interpolation and cubic spline, too. > > Yes. Here again, step 0 is how to think about the interface/domain in Java. I also want us to keep in mind that there's a distinction between interpolation and curve fitting. A fitted curve doesn't have to pass through all the input data points, but an interpolating curve must. > > * Sampling from Collections > > [ADC] Probably brings up the thorny topic of (good) random number > generation, > > about which Hamming said, "The generation of random numbers is too > important to > > be left to chance." > > This is a place where we could spend *lots* of time, recruit some number > theorists and end up with something marginally better than what ships > with the JDK. If someone wants to do this, great, but I think we can > probably assemble some useful stuff just leveraging the JDK generators > (a la RandomData). Just writing the relatively trivial code to generate > a random sub-collection from a collection using the JDK PRNG would > probably be useful to a lot of applications. It could be, however, that > this really belongs in commons-collections. As I said in an earlier post, we should briefly assess the quality of the JDK's PRNG before deciding whether it needs a replacement. Al ===== Albert Davidson Chou Get answers to Mac questions at http://www.Mac-Mgrs.org/ . __________________________________ Do you Yahoo!? The New Yahoo! Search - Faster. Easier. Bingo. http://search.yahoo.com --------------------------------------------------------------------- To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org For additional commands, e-mail: commons-dev-help@jakarta.apache.org