Return-Path: Delivered-To: apmail-commons-issues-archive@minotaur.apache.org Received: (qmail 8571 invoked from network); 19 Mar 2009 01:16:22 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 19 Mar 2009 01:16:22 -0000 Received: (qmail 30982 invoked by uid 500); 19 Mar 2009 00:48:21 -0000 Delivered-To: apmail-commons-issues-archive@commons.apache.org Received: (qmail 30912 invoked by uid 500); 19 Mar 2009 00:48:21 -0000 Mailing-List: contact issues-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: issues@commons.apache.org Delivered-To: mailing list issues@commons.apache.org Received: (qmail 30901 invoked by uid 99); 19 Mar 2009 00:48:21 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 18 Mar 2009 17:48:21 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 19 Mar 2009 00:48:11 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 9E00A234C044 for ; Wed, 18 Mar 2009 17:47:50 -0700 (PDT) Message-ID: <897348554.1237423670646.JavaMail.jira@brutus> Date: Wed, 18 Mar 2009 17:47:50 -0700 (PDT) From: =?utf-8?Q?Bernhard_Gr=C3=BCnewaldt_=28JIRA=29?= To: issues@commons.apache.org Subject: [jira] Commented: (MATH-250) Solver for rational and other equations In-Reply-To: <521929053.1237366190412.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/MATH-250?page=3Dcom.atlassian.j= ira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=3D126832= 60#action_12683260 ]=20 Bernhard Gr=C3=BCnewaldt commented on MATH-250: ------------------------------------------ Here is a short summary what my approach is: https://www.gruenewaldt.net/2009/03/using-maxima-to-derivate-rational-funct= ions-and-solve-equations/ I want to do the same thing mentioned in the blog entry with commons math. > Solver for rational and other equations > --------------------------------------- > > Key: MATH-250 > URL: https://issues.apache.org/jira/browse/MATH-250 > Project: Commons Math > Issue Type: Improvement > Affects Versions: 2.0 > Reporter: Bernhard Gr=C3=BCnewaldt > Priority: Minor > Fix For: 2.0 > > > In addition to the existing PolynomialFunction class a RationalFunction c= lass would be a good idea. > http://en.wikipedia.org/wiki/Rational_function > For package: > http://commons.apache.org/math/userguide/analysis.html > The goal should be to calculate derivates of functions like: > f(x) =3D [ x + 2*x^3 ] / [ x -1] > or=20 > f(x) =3D [ e^x + 2*x ] / [ cos(x) ] > Therefore it would be best to have classes for all the inner equations li= ke "e", "sin,cos,tan ...", "sqrt", a.s.o > These inner equations would then be put together to an outer equation.=20 > This outer equation can then be derived using the "chain rule", "product = rule" and all other rules for getting the derivative. > One of this inner classes is the existing PolynomialFunction class from t= he analysis package. > For easy rational functions the outer equation is of the form: > f(x) =3D PolynomialFunction / PolynomialFunction > Now just use the rule to derive it: > f(x) =3D g(x) / h(x) =3D> f'(x) =3D [h(x) * g'(x) - g(x) * h'(x) ] / [= h(x) ]^2 > Here we can use the inner derivate of the PolynomialFunction by calling P= olynomialFunction.derivative() > That's the idea, now the topics that have to be discussed: > 1. We should have a parser that can parse the "standard mathematical nota= tion" into a tree of function classes. > http://en.wikipedia.org/wiki/Mathematical_notation > 2. A class for every type of function should be implemented with an inter= face that has the common methods like: > add(Object o) > subtract(Object o) > multiply(Object o) > divide(Object o) > derivative(Object o) > a.s.o > 3. We need to implement Excptions that are thrown for sqrt(-1) a.s.o > 4. We need a mother class that implements all the complex derivation rule= s like: > http://en.wikipedia.org/wiki/Chain_rule > http://en.wikipedia.org/wiki/Product_rule > a.s.o. > the sub classes the PolynomialFunction or the RationalFunction just i= mplement their derivation rules, but the mother class implements the comple= x rules to derivate a complex structure of any type of equation by using th= e inner derivation rules and the complex chain rules a.s.o --=20 This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.