Forums before death by AOL, social media and spammers... "We can't have nice things"
|    sci.math.symbolic    |    Symbolic algebra discussion    |    10,432 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 9,279 of 10,432    |
|    Albert Rich to clicl...@freenet.de    |
|    Re: The leaner and meaner Rubi 4.11 now     |
|    07 Mar 17 16:11:02    |
      From: Albert_Rich@msn.com              On Tuesday, March 7, 2017 at 8:44:01 AM UTC-10, clicl...@freenet.de wrote:       >        > A look at Rubi's rule count for versions 4.0 through 4.9:       >        > 4.0 5150 | *       > 4.1 5273 | *       > 4.2 5548 | *       > 4.3 5647 | *       > 4.4 5587 | *       > 4.5 5465 | *       > 4.6 5594 | *       > 4.7 5914 | *       > 4.8 6157 | *       > 4.9 6329 | *       >        > I conclude that doomsday has been warded off for another year or so.              You need not be so pessimistic. For one, the exponential growth you graph       seems to show is sitting on a base of some 5000 rules. Also, although large,       the scope of Rubi is NOT infinite in extent. Rather the goal is to provide a       comprehensive set of        rules for finding optimal antiderivatives of instances of a fixed set of       well-defined forms of integrands. For example, all instances of integrands of       the form               (d+e x^n)^m (a+b x^n+c x^(2 n))^p       and        cos(e+f x)^p (a+b sin(e+f x))^m (c+d sin(e+f x))^n              Given this limited goal, I think a manageable number of integration rules will       suffice. Certainly under 10,000. The uncompressed size of the Rubi 4.11       source text files is less than 1.9 megabytes. This is tiny by today's       standards, and leaves plenty        of room for growth.              > > Through the use of what Maple calls inert functions, the pattern       > > matcher was effectively extended to recognize that cos(r+s x) is an       > > instance of the pattern sin(a_+b_ x) by assigning a_ the value r+pi/2.       > > Similarly cot and sec are now recognized as instance of tan and csc,       > > respectively. Therefore all the rules for cos, cot and sec were       > > eliminated, since they are now handled by the corresponding sin, tan       > > and csc rules. Slightly less than half the trig rules could be       > > eliminated because terminal cases involving special functions (e.g.       > > the sine integral and cosine integral functions) require two rules to       > > choose between them.       > >        > > It should be noted that Rubi has long used inert trig functions to       > > recognize hyperbolic functions as instances of trig functions; thereby       > > eliminating hyperbolic integration rules. The only downside to the       > > elimination of the hyperbolic integration rules, and now half of the       > > trig integration rules, is that when single-stepping through an       > > integration of say cos(r+s x), the rule for integrating sin(a+b x) is       > > displayed. However, even this objection could be eliminated by       > > getting the single-stepper to automatically transform the sine rule       > > into the equivalent cosine rule when sin(r+pi/2+s x) is being       > > integrated. I leave that as a project for an intrepid Rubi user.       >        > I seem to recall that intermediate and final results are transformed       > back already where appropriate. Similar transformations should apply to       > rules that are displayed. The necessary information would have to be       > passed by the extended pattern matcher or to be determined anew from the       > current rule code and input and output expressions, I suppose.       >        > Anyway, most users will find it easier to read a sine as cosine than to       > read a sine as a hyperbolic function.       >        > But couldn't the issue have been addressed by a single simple rule that       > replaces all occurences of COS(x) in an integrand with SIN(pi/2 + x),       > &cetera?              Mathematica evaluates Sin[Pi/2+x] to Cos[x], and -I Sin[I x] to Sin[x]. So       the rule you suggest would result in an infinite regress. Instead Rubi uses       inert functions as follows:              1) All occurrences of active trig and hyperbolic functions in an integrand are       replaced with an equivalent expression involving one of the 3 inert trig       functions (sin, tan, or csc). For example, Sin[x] goes to sin[x], Cos[x] goes       to sin[Pi/2+x], and        Sinh[x] goes to -I sin[I x].              2) Mathematica's built-in pattern matcher then finds the right sin, tan or csc       rule to apply to the integrand.              3) Finally, the right side of the sin, tan and csc rules are expressed in       terms of the active trig functions. So their evaluation by Mathematica       results in all 12 trig and hyperbolic functions automatically being used to       express the antiderivatives in        optimal form. For example, Sin[Pi/2+x] evaluates to Cos[x].              Albert              --- SoupGate-Win32 v1.05        * Origin: you cannot sedate... all the things you hate (1:229/2)    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca