@halirutan You wrote:
But if you think we should make a small page for them on the website that explains some stuff and link from there to the repository, that would also work.
Yes, as on Rubi's old website, clicking on the "Integration Rules" menu option should lead to another website page with the text at the beginning of the current README.md file and a menu-bar with the options: "Algebraic", "Exponential", "Log", "Trig", "Inverse Trig", "Hyperbolic", "Inverse Hyperbolic", "Special Functions", and "Miscellaneous".
@halirutan At the risk of asking for way too much :smile:, even better would be drop-down menus that appear when you hover over "Algebraic", "Exponential", etc that lead directly to the pdf files in the repository.
Such nested drop-down-menus are realy old-school and not used anymore nowadays. But more importantly, all we do at the moment is a compromise between two things: (1) Having a clear design and all information in one place (that is used by almost all today's developers) and (2) simplicity so that you can easily grasp how to change and edit things without learning too much useless web-dev stuff. Such a nested drop-down is certainly possible, but it would mean that I have to re-create the web-site on each change. I would very much not go this way :)
The current menu is a bit of a hack and I'm using buttons that are originally not meant to be a menu, but it looked great when I tested it and therefore I used it. So for the website, I would like to keep this simple "one level" menu where each entry either leads directly to a repository or it has exactly one page behind it. Therefore, this
@halirutan I would like to encourage the development of definite integration rules in addition to indefinite integration rules. To that end, should we add two subsections under IntegrationRules named DefiniteIntegrationRules and IndefiniteIntegrationRules?
is absolutely fine when it stays on one page. I'm not sure I completely understood this though. The current state is that Rubi only has indefinite integration rules, right?
@AlbertRich In addition to the Mathematica package update, I added the following things to the web-page:
The "Home" page needs a bit more content, but I would like to announce everything this week, as I'm on vacation a week later.
major.minor[.maintenance[.build]]
. I didn't want to complicate things as deeply nested version numbers might be confusion, so I increased the minor version with each new package that contained changes.
4.15.2:1.0
will blow the users mind and they won't understand it. Would 4.15.2.xx
be acceptable so that I can increase xx
to my liking and 4.15.2
points to the engine version?
4.15.2.1
and the reason for that is simple: I do not know if Mathematica can interpret more exotic version numbers correctly in their Paclet and we need to ensure that PacletUpdate
understands which version is the newest.
@Nasser @halirutan Patrick wrote:
What I would like to see in the Wiki is a page that explains, how we can possibly verify the results of Rubi, Mathematica, ...
I use two different methods to test the validity of a candidate antiderivative produced by the various systems, including Rubi:
Depending on the size of the candidate, one of these methods may take an inordinate amount of time to decide while the other would quickly succeed. Also, sometimes the first method will succeed only if you Simplify or FullSimplify the candidate before differentiation; sometimes it will succeed only if you do not Simplify or FullSimplify the candidate before differentiation.
Also sometimes the first method will succeed only if you Simplify or FullSimplify the result of the differentiation before subtracting the integrand; sometimes it will succeed only if you do not to Simplify or FullSimplify until after subtracting the integrand.
Similarly, the second method succeeding sometimes depends on when the candidate and intermediate results are simplified. So the test program should use time slicing, or better parallel processing, to try the numerous permutations of these two verification methods. As you can see good antiderivative verification is a difficult research project...
Of course, if you don't trust me, the validity of the optimal antiderivatives in the test suite should be verified correct by the first method above. That verification should be easy, since the optimal antiderivatives are relatively small. However, I had to manually help out Mathematica on verifying some optimal antiderivatives that involved nested radicals and/or fifth roots.
Finally note that these methods assume the CAS conducting the verification tests correctly differentiates, subtracts and simplifies expressions.
Simplify
that is able to transform the expression into the right form. Am i mistaken here when I say that the correct way for e.g. Maple would be to integrate the expression, but import the result back to Mathematica to make the advanced comparision?