Warning: The 19-example table is an eye-catching demo, but it is not large or diverse enough to qualify as a “representative” benchmark in the usual software-testing sense. It convincingly illustrates Transform 3’s strengths on its target family—integrals built from $\tan\bigl(\tfrac12\operatorname{arcsec/arccsc}(\cdots)\bigr)$—yet it is too small for reliable statistics and too narrow to say much about performance outside that niche.
USM Transform 3 is described in the draft paper “A Unified Substitution Method for Integration”.
All raw timings and expression statistics were taken verbatim from the diagnostic printouts in USMvsMMAfinal.pdf and USMvsMMAFinal2.pdf . See also the notebooks here and here.
How to read the table
-
MMA time – wall-clock seconds for
Integrate[…]
on the original integrand (labeled Direct time in the notebook). -
USM time – single figure obtained by adding:
-
parameter-extraction time +
-
conversion ( x → t ) time +
-
USM-upper-branch integration time +
-
USM-lower-branch integration time
-
-
LeafCnt / ByteCnt – Mathematica’s
LeafCount
andByteCount
of the returned antiderivative. -
Any USM entry that beats Mathematica (smaller value) is red bold-faced.
Interpreting the numbers
-
LeafCount (Lower--Upper) counts the total nodes in Mathematica’s expression tree; ByteCount (Lower--Upper) measures the memory footprint in bytes. Both are crude but serviceable proxies for “formula complexity”. Lower values signal more compact, and usually more readable, antiderivatives.
-
USM total time is purposely holistic: the tiny setup overhead (parameter extraction + conversion) is included together with the actual integration of both branches, so a reader sees the real end-to-end cost of calling the transform.
-
Why two branches? Transform 3 generates an “upper” and a “lower” substitution dictated by the radical’s sign conventions; the faster of the two could in principle be chosen automatically, but here both were timed and summed for fairness.
Average speed-up
$$\begin{array}{r|r|r|r}\# & \text{MMA time (s)} & \text{USM time (s)} & \text{Speed-up} \\\hline1 & 0.0031 & 0.0283 & 0.11 \\2 & 1.1700 & \mathbf{\color{red}{0.0026}} & 450 \\3 & 6.1800 & \mathbf{\color{red}{0.0025}} & 2472 \\4 & 0.2580 & \mathbf{\color{red}{0.0018}} & 143 \\5 & 0.0113 & \mathbf{\color{red}{0.0098}} & 1.15 \\6 & 0.0268 & \mathbf{\color{red}{0.0225}} & 1.19 \\7 & 0.2130 & \mathbf{\color{red}{0.0015}} & 142 \\8 & 19.2000& \mathbf{\color{red}{8.1960}} & 2.34 \\9 & 2.1300 & \mathbf{\color{red}{0.0262}} & 81.3 \\10 & 4.5200 & \mathbf{\color{red}{0.0274}} & 165 \\11 & 0.0120 & \mathbf{\color{red}{0.0015}} & 8.0 \\12 & 0.0146 & \mathbf{\color{red}{0.0016}} & 9.13 \\13 & 0.0122 & \mathbf{\color{red}{0.0112}} & 1.09 \\14 & 0.2250 & \mathbf{\color{red}{0.0023}} & 97.8 \\15 & 0.0154 & \mathbf{\color{red}{0.0018}} & 8.56 \\16 & 6.0500 & \mathbf{\color{red}{0.0357}} & 170 \\17 & 0.0068 & 0.0220 & 0.31 \\18 & 1.0500 & \mathbf{\color{red}{0.0041}} & 256 \\19 & 9.3900 & \mathbf{\color{red}{0.0933}} & 101 \\\end{array}$$Using the arithmetic mean of the 19 speed-up values
$$\text{speed-up}_i \;=\;\frac{\text{MMA time}_i}{\text{USM time}_i},$$
the average speed-up is
$$\boxed{\displaystyle \overline{\text{speed-up}}\;=\;216.3\ (\text{approximately})}.$$
Take-aways
-
Speed advantage – USM outruns built-in
Integrate
on 17 / 19 examples, sometimes spectacularly (Ex 3 is > 2000× faster). Only the Ex 1 and Ex 17 favour MMA on raw time. However, for these two examples USM gave much simpler antiderivatives. -
Compact answers – In 16 / 19 cases the USM result is much smaller (LeafCount & ByteCount). The gains are eye-catching for the hardest problems: Ex 3 shrinks from 8 962 leaves to 64--72, and Ex 19 from 19 148 to 129--139.
-
Overhead is negligible – Parameter extraction and conversion stay in the micro-second realm; almost all of the USM total is the symbolic integration itself, yet seldom exceeds a few hundredths of a second.
Bottom line: On this mixed radical-inverse-trig mini-benchmark, the USM (Transform 3) consistently yields faster and simpler antiderivatives than Mathematica’s built-in integrator.
No hay comentarios:
Publicar un comentario