Return-Path: Delivered-To: apmail-jakarta-commons-dev-archive@www.apache.org Received: (qmail 34319 invoked from network); 21 Oct 2003 21:17:20 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (208.185.179.12) by minotaur-2.apache.org with SMTP; 21 Oct 2003 21:17:20 -0000 Received: (qmail 33927 invoked by uid 500); 21 Oct 2003 21:17:04 -0000 Delivered-To: apmail-jakarta-commons-dev-archive@jakarta.apache.org Received: (qmail 33726 invoked by uid 500); 21 Oct 2003 21:17:03 -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 33710 invoked from network); 21 Oct 2003 21:17:03 -0000 Received: from unknown (HELO mail.datazug.ch) (212.4.65.100) by daedalus.apache.org with SMTP; 21 Oct 2003 21:17:03 -0000 Received: from yahoo.de [212.4.78.165] by mail.datazug.ch with ESMTP (SMTPD32-8.02) id A2555698004E; Tue, 21 Oct 2003 23:17:09 +0200 Message-ID: <3F95A253.7080708@yahoo.de> Date: Tue, 21 Oct 2003 23:17:07 +0200 From: "J.Pietschmann" User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5) Gecko/20031007 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Jakarta Commons Developers List Subject: Re: [math] Isn't it about time? References: <3F959C5D.6050804@latte.harvard.edu> In-Reply-To: <3F959C5D.6050804@latte.harvard.edu> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Mark R. Diggory wrote: > How close does everyone think we are to a release? > > Maybe its getting time for a Vote? Most of the stoppers have been sorted out. Open issues - a Complex class - providing more flexibile framework for solving linear equation systems. I think of RealMatrix as Data holder only, and providing a decomposer class with an associated factory, a decomposition class holding the decomposition and providing the backward pass of the solving algorithms. Like class RealMatrix { // get a matrix specific decomposer factory DecompositionFactory getDecompositionFactory(); } class DecompositionFactory { // get overall default factory static newInstance(); // construct a new default decomposer Decomposer newDecomposer(); // example for a specific decomposer (Householder or QR) Decomposer newQRDecopmposer(); } Decomposer { Decomposition decompose(RealMatrix); } Decomposition { // solve A*x=b RealVector solve(RealVector b); // solve matrix equation RealMatrix solve(RealMatrix b); RealMatrix invert(); } This way it would be possible to a) take advantage of special matrix forms, like symmetric or tridiagonal matrices, thereby using simple and more stable methods b) use different solvers in case one solver proves to be unsatisfactory (like QR or even SVD instead of the standard LR decomposition, or post-iterations) c) reuse the decomposition for solvong multiple systems with differend right hand sides The decomposition objects could provide for an error estimate, if available for this decomposition. Any comments regarding numerical integration methods? Minimizing functions? Optimization (linear and non-linear programming)? Regards J.Pietschmann --------------------------------------------------------------------- To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org For additional commands, e-mail: commons-dev-help@jakarta.apache.org