" Another simple thing to do would be to stratify Rubi testsuite
by number of Rubi steps needed to do integral. So, layer 1
would be integrals for which Rubi needs 1 step, layer 2
ones needing 2 steps, etc. Note that Rubi testsute gives
number of Rubi step, so this should be relatively easy
to do. Maybe extra explanation why this could be useful:"
Hello Waldek;
FYI,
It is now possible to also obtain all this information using the new SQL
interface. I added more examples.
Find the integrals which used one Rubi step to solve
sqlite>select command_in_mma from main where rubi_number_of_steps=1;
Integrate[(-1 + 2*x)^(-1) - (1 + 2*x)^(-1),x]
Integrate[x/(1 - x^2)^5,x]
...
Find the integrals which used two Rubi step to solve
sqlite>select command_in_mma from main where rubi_number_of_steps=2;
Integrate[(-3 + x)*(-7 + 4*x^2),x]
Integrate[(-7 + 4*x^2)/(3 + 2*x),x]
...
Find the integrals which used 4 Rubi step to solve and shows the rules used
sqlite>select command_in_mma,rubi_rules_used from main where
rubi_number_of_steps=4;
Integrate[(a*x^2 + b*x^3)/(c*x^2 + d*x^3),x]|{1607, 1598, 45}
Integrate[x^4/(4 + 5*x^2 + x^4),x]|{1136, 1180, 209}
Also the rules used and the actual rules uses are also displayed under each
integral in the main report pages.
The rules are also listed at Rubi web page with the rule number showing
next to each file
https://rulebasedintegration.org/integrationRules.html
--Nasser
On Tuesday, August 23, 2022 at 1:35:32 PM UTC-5 Waldek Hebisch wrote:
> On Mon, Aug 22, 2022 at 05:54:28AM -0700, 'Nasser M. Abbasi' via FriCAS -
> computer algebra system wrote:
> >
> > "3. Can we have a report on "elementary integral", "algebraic integral",
> > "transcendental integral", "special function integral"?"
> >
> > There is section in the introduction called "Performance per integrand
> > type" which shows the final result for each CAS
> > for each subset of the tests:
> >
> > 1. Independent tests.
> > 2. Algebraic Binomial problems (products involving powers of binomials
> > and monomials).
> > 3. Algebraic Trinomial problems (products involving powers of
> > trinomials, binomials and monomials).
> > 4. Miscellaneous Algebraic functions.
> > 5. Exponentials.
> > 6. Logarithms.
> > 7. Trigonometric.
> > 8. Inverse Trigonometric.
> > 9. Hyperbolic functions.
> > 10. Inverse Hyperbolic functions.
> > 11. Special functions.
> > 12. Sam Blake input file.
> > 13. Waldek Hebisch input file.
> >
>
> Well, this classification makes some sense for Rubi, but really
> is wrong one for other systems. Namely, what integration algorithm
> should do depends _much_ more on form of integral than on form
> of integrand. So, crude but useful classification could be:
>
> 1) "optimal" result is elementary
> 2) "optimal" result contains elliptic integrals
> 3) "optimal" result contains Ei, li, Ci, Si
> 4) "optimal" result contains erf, erfi, fresnelS, fresnelS
> 5) "optimal" result contains polylogs
> 6) "optimal" result contains other special functions
>
> There are some subtleties above, namely some instances of AppelF1
> are in fact elliptic, but even simple classification without attempt
> to simplify special functions would be useful. One could also
> do more detailed distinctions, if interested I can share some
> ideas.
>
> Another simple thing to do would be to stratify Rubi testsuite
> by number of Rubi steps needed to do integral. So, layer 1
> would be integrals for which Rubi needs 1 step, layer 2
> ones needing 2 steps, etc. Note that Rubi testsute gives
> number of Rubi step, so this should be relatively easy
> to do. Maybe extra explanation why this could be useful:
> most Rubi rules do integration by parts which any decent
> integrator should be able to do. So Rubi abilities are
> mainly due to other rules. AFAICS vast majority of other
> rules are final rules, so they should appear already in
> one step results. But apparently there are few other rules
> which appear only in 2 or more step results. So it is
> interesting to look at correlations between layers.
> If layers are strongly correlated (as I suspect) this
> would allow to estimate integrator performance on
> much smaller and less time consuming testsuite (higher
> layers add bulk which increase integration time).
>
> --
> Waldek Hebisch
>
--
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/fricas-devel/8fadab64-e4cb-469f-afff-68702a277704n%40googlegroups.com.