The antiderivative of a sum multiplies its terms' piecewise cases

Geschlossen
#1,874 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
12/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
csharp
Bereich
data

Rechercherichtung

This is a symbolic integration problem in the C# library AngouriMath; the payload names no files or tests. Start by reproducing the three integrands from the table and comparing the printed antiderivatives, then trace how the integrator combines piecewise results for a sum. Done would mean the sum's answer is no longer the cross-product of the term cases, which is open-ended design work.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Part of #718

When two terms each integrate to a piecewise answer in the signs of the constants, the antiderivative of their sum lists every combination of cases, not one piecewise answer per term. Measured on master ed821bf3:

Integrand Answer
1/(b*x^2 + m) 287 chars
1/(sqrt(a + b*x^2)*(b*x^2 + m)) 685 chars
1/(b*x^2 + m) - 1/(sqrt(a + b*x^2)*(b*x^2 + m)) 3,685 chars

The answer for the sum is almost four times the two pieces together.

#1873 meets this. Its conjugate splits 1/(a c + b c x^2 + d sqrt(a + b x^2)) into two such pieces and answers in 3,464 characters, and Rubi's 1.3.2:752 comes to 5,052. The answers are right; I checked them exactly at 50 and 2,000 digits. They are just much longer than they need to be.

What I'd expect: the sum of two piecewise answers stays a sum of two piecewise answers, unless the cases are merged where their conditions coincide.

Vorherrschende Sprache
C#
Sterne
832
Forks
79
Ø Merge
1 Std. 12 Min.
Gemergte PRs (30 T.)
518

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus ASC-Community/AngouriMath

Alle Issues in ASC-Community/AngouriMath

Ähnliche Issues

Weitere Issues zu C#

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.