Repository navigation
Commit c3b136d
Stop a term-by-term integration at the first declined term, and simplify a power of a symbolic cubic under the exponential substitution at level -2 (#2016)
Two causes of the heavy rows of Rubi's 6.1.7.
SolveBySplittingSum's helper Integrated was a Select(...).Aggregate(...),
which integrated every term even after one had declined; IntegratedTermByTerm
and the partial fractions' && chains already stop. It is now a loop that
returns at the first null, summing in the same order. 6.1.7:196 5.5 -> 1.3 GB
from this alone, and five rows master does not answer within two to three
minutes are answered: 6.7.1:703 and 735 in 0.2 s, 6.2.7:121 and 122, and
2.3:714 (-e^Q/Q + Ei(Q)) in 18 s.
Under u = e^(c + d x), csch^m (a + b sinh^3)^p becomes a quotient holding
(a (2u)^3 + b (u^2 - 1)^3)^p, and SolveByExponentialSubstitution's
combined.Simplify() spent 2.2-7.7 GB on the two candidates offered after the
search: Expand().Simplify(-2) and RuleBasedFactorization(2).Simplify(-2). For
a whole power >= 2 of a sum that is a polynomial in u of degree >= 3 with a
symbolic coefficient and a nonzero constant term, it now simplifies at level
-2, the same search without them; not where the monomials in u above and
below the bar have equal degree (6.1.7:187, where the factored form wins), and
not without the constant term (6.7.1:854, 3,485 characters, 178,682 that way).
The 37 heavy rows of 6.1.7 and 6.4.2: answers identical, 81.7 -> 21.7 GB.
Chain against master 08a3c49: pocket of 3,599 rows (6.1.x and 6.4.x whole,
the rest of family 6 every 3rd, every 30th elsewhere), 3,555 -> 3,561 solved,
allocation over the rows solved on both 567.5 -> 469.8 GB; samples unchanged;
alone, 1.1.2.4:1198 answered as well; no row's allocation grew past 1.3x
(Welz 201 and 1.1.1.3:2861, flagged in the samples, are identical in
allocation and answer cold).
Part of #233.
Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>1 parent dc0463c commit c3b136d
3 files changed
Lines changed: 194 additions & 6 deletions
File tree
- Sources
- AngouriMath/Functions/Continuous/Integration
- Tests/UnitTests/Calculus
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1294 | 1294 | | |
1295 | 1295 | | |
1296 | 1296 | | |
| 1297 | + | |
| 1298 | + | |
| 1299 | + | |
| 1300 | + | |
| 1301 | + | |
| 1302 | + | |
| 1303 | + | |
| 1304 | + | |
| 1305 | + | |
| 1306 | + | |
| 1307 | + | |
| 1308 | + | |
| 1309 | + | |
| 1310 | + | |
| 1311 | + | |
1297 | 1312 | | |
1298 | 1313 | | |
1299 | 1314 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
138 | 138 | | |
139 | 139 | | |
140 | 140 | | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
141 | 145 | | |
142 | | - | |
143 | | - | |
144 | | - | |
145 | | - | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
146 | 156 | | |
147 | 157 | | |
148 | 158 | | |
| |||
28609 | 28619 | | |
28610 | 28620 | | |
28611 | 28621 | | |
28612 | | - | |
| 28622 | + | |
| 28623 | + | |
| 28624 | + | |
28613 | 28625 | | |
28614 | 28626 | | |
28615 | 28627 | | |
28616 | | - | |
| 28628 | + | |
28617 | 28629 | | |
28618 | 28630 | | |
28619 | 28631 | | |
| |||
28661 | 28673 | | |
28662 | 28674 | | |
28663 | 28675 | | |
| 28676 | + | |
| 28677 | + | |
| 28678 | + | |
| 28679 | + | |
| 28680 | + | |
| 28681 | + | |
| 28682 | + | |
| 28683 | + | |
| 28684 | + | |
| 28685 | + | |
| 28686 | + | |
| 28687 | + | |
| 28688 | + | |
| 28689 | + | |
| 28690 | + | |
| 28691 | + | |
| 28692 | + | |
| 28693 | + | |
| 28694 | + | |
| 28695 | + | |
| 28696 | + | |
| 28697 | + | |
| 28698 | + | |
| 28699 | + | |
| 28700 | + | |
| 28701 | + | |
| 28702 | + | |
| 28703 | + | |
| 28704 | + | |
| 28705 | + | |
| 28706 | + | |
| 28707 | + | |
| 28708 | + | |
| 28709 | + | |
| 28710 | + | |
| 28711 | + | |
| 28712 | + | |
| 28713 | + | |
| 28714 | + | |
| 28715 | + | |
| 28716 | + | |
| 28717 | + | |
| 28718 | + | |
| 28719 | + | |
| 28720 | + | |
| 28721 | + | |
| 28722 | + | |
| 28723 | + | |
| 28724 | + | |
| 28725 | + | |
| 28726 | + | |
| 28727 | + | |
| 28728 | + | |
| 28729 | + | |
| 28730 | + | |
| 28731 | + | |
| 28732 | + | |
| 28733 | + | |
28664 | 28734 | | |
28665 | 28735 | | |
28666 | 28736 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
0 commit comments