|
|
|
|
Sowas geht leider nicht, weil ich komplizierte Berechnungen mache, die aber nicht viel Komplexitaet in N gewinnen, das will ich im Grunde demonstrieren. Also sowas wie
Ob da jetzt im Integrand ein Faktor mehr oder weniger steht, ist angesichts des indefiniten Integrals relativ egal.
Einfachstee Loesung waere vielleicht, einfach das Programm fuer
N=2 laufen lassen. Dann fuer N=3. Dann fuer N=4. Komplett getrennte Ablaeufe, und hinterher die Daten zusammenfuehren.
|
|
|
|
|
|
|
Ich glaube es wäre wirklich in deinem Interesse dafür timeit zu verwenden, das vermeidet viele Stolpersteine und sollte eigentlich nicht so kompliziert umzubauen sein.
Was ist denn die Technologie die du verwendest? Bei der zusätzlichen Dauer des ersten Parametersatzes würde ich auch nach Initialisierung schauen, wie ein jit oder die Initialisierung einer Blas-Umgebung oder so. Lass es doch einfach mal in anderer Reihenfolge und mehrmals laufen, vielleicht fällt dir was auf.
|
|
|
|
|
|
|
| Zitat von statixx N=1 zweimal laufen lassen?
| |
Ach jetzt checke ich das erst, gerade beim Einkaufen fiel es mir wie Schuppen von den Augen. Das koennte klappen!
Borg:
Keine Frage, ich muss das nochmal nachbauen. Aber ich brauche gerade eine notduerftige Loesung mit eher so 2 Minuten aktiver Arbeit...
Denke einen initialisierenden Lauf ausser Wertung, dann die Timings. Dann das ganze rueckwaerts, das sollte fuer den finalen Draft hoffentlich ausreichen, Submission kriegt ne saubere Loesung.
|
|
|
|
|
|
|
Vermutlich am wenigsten Aufwand: lass einfach den kompletten Test zwei Mal laufen (ohne den Interpreter zwischendrin zu verlassen) und ignoriere die Ausgabe vom ersten Durchgang
Edit: also wenn das Problem jit Warm-up ist
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von PutzFrau am 27.02.2021 12:35]
|
|
|
|
|
|
Wat.
Keinen Effekt hat:
Base case (N=2) zweimal.
Kompletten Test zweimal.
Rueckwaerts iterieren.
RUECKWAERTS ITERIEREN?
...
In der Modellparametrisierung ist ein kleiner numerischer Optimierungsschritt, der braucht bei N>2 vernachlaessigbare 0.05s, und fuer N=2 konvergiert die Kacke halt super langsam in 0.5s.
|
|
|
|
|
|
|
Skaliert halt sublinear
|
|
|
|
|
|
|
Ich versuche gerade ein paar Pattern Matches in Maple. Primär sollen da bestimmte Partialbruchzerlegungen ausgelesen werden. Das funktioniert soweit ganz gut mit, z.B.
|
Code: |
g0::algebraic+(g1::algebraic)/z |
|
Leider renne ich damit gegen eine Wand, wenn g0 oder g1 verschwindet. Wenn ich die Hilfe zum Typ algebraic richtig verstehe, liegt das daran, dass leere Werte halt nicht davon erfasst werden.
Wenn ich jetzt aber
|
Code: |
g2::Or(algebraic,nothing) |
|
probiere, beschwert er sich, dass
|
Code: |
Error, (in PatternMatching:-AlgStruct:-Match) first operand of `::' must be a name
|
|
Ok. Fair. Verstehe ich. Aber irgendwie muss das doch machbar sein...? Was ist die Syntax, die mir fehlt?
If I didn't have you, I'd probably have someone else.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Wraith of Seth am 27.02.2021 13:37]
|
|
|
|
|
|
Direkt veröffentlichen. (Also den sublinearen Algorithmus!)
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von B0rG* am 27.02.2021 13:37]
|
|
|
|
|
|
welche ist die IDE der Wahl für Mac OS?
|
|
|
|
|
|
|
IDE hängt eher von der Sprache ab, nicht vom OS
Edit: davon abgesehen natürlich emacs
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von PutzFrau am 27.02.2021 22:49]
|
|
|
|
|
|
Ich weiß nicht welche Sprache Du nutzen willst, aber vim ist vermutlich am besten geeignet.
|
|
|
|
|
|
|
python, java, c# hauptsächlich.
|
|
|
|
|
|
|
IntelliJ. Bzw. generell alles von JetBrains.
|
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von derSenner am 27.02.2021 22:58]
|
|
|
|
|
|
Python PyCharm, Java IntelliJ, C# kein Plan
|
|
|
|
|
|
|
| Zitat von PutzFrau
C# kein Plan
| |
Rider oder VSCode.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von SwissBushIndian am 27.02.2021 23:21]
|
|
|
|
|
|
|
|
|
|
Für Java IntelliJ. Damit komm sogar ich als absoluter Einsteiger gut zurecht.
Für Python - kommt aufs Anwendungsgebiet an. Atom, wenn man Hydrogen nutzen möchte.
Für kleinere Sachen finde ich auch Sublime gut (weniger als ein IDE, mehr als ein Editor), ist schnell, schlank und anpassbar.
|
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von Monsieur Chrono am 01.03.2021 14:32]
|
|
|
|
|
|
Nice!
|
|
|
|
|
|
|
Wie sage ich "mein gammliger Laptop" auf professionell? Ich hab mal in nem Paper ne gute Formulierung gesehen, finde sie aber nicht mehr. Consumer-grade device? Conventional?
Hintergrund: Eine der "Konkurrenzmethoden" wird in ihrem paper protzig mit Rechenzeiten im Millisekundenbereich beworben - professionell implementiert in deren fucking Rechenzentrum.
Bei mir ist eher relevant, dass wir halt sehr gut skalieren mit steigenden Inputs, ich geb in Tabellenform auch nur den relativen Anstieg. Soll jetzt nochmal die absolute Zeit fuer den Base-Case in den Text schreiben, aber kann da ja schlecht ohne Rechtfertigung "1.1 Sekunden" schreiben. Numerische Komplexitaet oder genaue Hardware Specs waren Overkill und sind nicht erwuenscht.
|
|
|
|
|
|
|
|
|
|
|
Besser als meine Vorschlaege und so genommen (danke!), aber ich bin noch nicht so begeistert, wie von dieser fabuloesen irgendwann-mal-gesehenen Formulierung.
|
|
|
|
|
|
|
normal
standard
regular
ordinary
usual
traditional
typical
common
common or garden
garden variety
run-of-the-mill
prosaic
pedestrian
commonplace
unimaginative
uninspired
uninspiring
unadventurous
unremarkable
unexceptional
unoriginal
derivative
formulaic
predictable
stock
hackneyed
clichéd
stereotypical
stereotyped
trite
platitudinous
old hat
plain vanilla
bog-standard
hacky
|
|
|
|
|
|
|
|
|
|
|
Die eigentliche Lösung ist natürlich sich in der Cloud was zusammenzuclicken und selbst Poserzahlen zu liefern.
|
|
|
|
|
|
|
Sehr nice. Da muss man die Tools schon ziemlich gut beherrschen
|
|
|
|
|
|
|
| Zitat von Irdorath
Wie sage ich "mein gammliger Laptop" auf professionell? Ich hab mal in nem Paper ne gute Formulierung gesehen, finde sie aber nicht mehr. Consumer-grade device? Conventional?
| |
Office laptop without any RGB
|
|
|
|
|
|
|
"My monochrome multiplier"
---
Mathefrage. Ich schau mir gerade nochmal Taylorpolynome an, weil einfach und in der Realität auch unter Nichtkernphysikern häufig mal gebraucht, bisher aber nur im "Versteh das mal"-Kontext kennengelernt. Nehmen wir bei folgendem Bild an, dass ich im Punkt x_0 = 0 entwickeln möchte. // Blau ist die Ausgangsfunktion, grün mein Polynom zweiten Grades.
In der Realität wird ja selten gesagt werden: "Entwickeln Sie für diese Funktion das TP bis zum 5. Grad." Sondern, was man eigentlich will, ist: "Ich weiß, dass ich, beginnend in x_0 = 0, z. B. nach links und rechts bis zu x = -1/1 "ziemlich nah" dran bleiben muss, damit für meinen Anwendungsfall reliable Ergebnisse erzielt werden können."
Meine Idee ist nun, dass man ganz stümperhaft an den Grenzen, an denen man die Werte kennt, in einem iterativen Prozess fragt: "Wie groß ist bei -1/1 die Abweichung meines TPs nten Grades, wobei n der Grad der ist, auf dem ich gerade operiere, von den Funktionswerten der Originalfunktion?" Dazu würde ich einfach die Differenz des Funktionswertes der Originalfunktion und des Funktionswertes des TP in diesem Punkt (dabei der Betrag, weil mir gleich ist, ob das Ding eien Abweichung nach oben oder unten hat) bilden. Und dann schaue ich, ob die Differenz größer als mein erlaubter Fehler bei -1/1 ist. Falls ja, nächsthöherer Teil des Polynoms dran. Repeat.
Fragen:
1) Hat diese Methode einen Namen?
2) Funktioniert diese Methode?
3) Hat das, was ich ich hier lapidar "Fehler" nenne, bei TP einen bestimmten Namen?
4) Gibt es bessere Methoden, diese "Fehlerberechnung" vorzunehmen, unter der Annahme, dass man die Originalfunktion tatsächlich nicht kennt?
// Edit: Denkfehler, der behauptete, dass man die Originalfunktion nicht kennt, entfernt.
|
[Dieser Beitrag wurde 6 mal editiert; zum letzten Mal von Trotzspender am 04.03.2021 1:30]
|
|
|
|
|
|
Das kommt schon ganz gut hin so.
Den Fehler kannst du sogar exakt bestimmen, es ist der fehlende Restterm zwischen Taylorpolynom und Taylorreihe (wiki).
Du musst allerdings ein bisschen aufpassen, denn der Fehler ist nicht zwingend monoton wachsend (in x). Kommt halt auf die Form deiner approximierten Originalfunktion an. Will heissen, einfach an den Endpunkten des Intervalls (-1 und 1) den Fehler zu berechnen, gibt dir nicht unbedingt den groessten Fehler, der im gesamten Interval auftreten kann.
Wenn du die Originalfunktion nicht kennst, woher hast du dann die Ableitungen am Entwicklungspunkt? Experimentell? Wenn dann nur Info ueber diesen einen Punkt bekannt sind, wirst du wohl nicht allzuviel ueber davon entferne Punkte ausasgen koennen.
In der Theorie gibt es abgefahrene analytische Resultate, die globale Aussagen auf sehr lokale Voraussetzungen aufbauen, aber damit kenne ich mich nicht aus. Mein Bauchgefuehl sagt, dass die Anforderungen eher nicht realitaetsgetreu sind.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Irdorath am 04.03.2021 12:13]
|
|
|
|
|
|
Iirc sind die Stichworte "Taylor-Glied" (SBI!), für den Restterm selbst, und dann "Konvergenzradius" da die wichtigsten. Mein persönlicher Eindruck davon war aber auch meist, dass es für die Praxis eher wenig relevant ist. Nicht, weil es nicht wichtig wäre, sondern weil konkrete, hilfreiche Aussagen oft einiges an analytischem Know-How erfordern, was selbst Physiker im Schnitt überfordern dürfte. ...also, selbst, wenn man noch mit den Mathematikern Analysis hören musste, ist das doch sehr verschüttetes Wissen nach einigen Jahren nicht verwenden.
No no, marriage is girl code for "abandon all hope, ye who enter here."
|
|
|
|
|
|
|
| Zitat von Irdorath
Das kommt schon ganz gut hin so.
Den Fehler kannst du sogar exakt bestimmen, es ist der fehlende Restterm zwischen Taylorpolynom und Taylorreihe (wiki).
Du musst allerdings ein bisschen aufpassen, denn der Fehler ist nicht zwingend monoton wachsend (in x). Kommt halt auf die Form deiner approximierten Originalfunktion an. Will heissen, einfach an den Endpunkten des Intervalls (-1 und 1) den Fehler zu berechnen, gibt dir nicht unbedingt den groessten Fehler, der im gesamten Interval auftreten kann.
| |
Das ist ein sehr guter Punkt, den bisher überhaupt noch nicht bedacht habe. Shit.
| Zitat von Irdorath
Wenn du die Originalfunktion nicht kennst, woher hast du dann die Ableitungen am Entwicklungspunkt? Experimentell? Wenn dann nur Info ueber diesen einen Punkt bekannt sind, wirst du wohl nicht allzuviel ueber davon entferne Punkte ausasgen koennen.
In der Theorie gibt es abgefahrene analytische Resultate, die globale Aussagen auf sehr lokale Voraussetzungen aufbauen, aber damit kenne ich mich nicht aus. Mein Bauchgefuehl sagt, dass die Anforderungen eher nicht realitaetsgetreu sind.
| |
Das mit dem Nichtkennen der Originalfunktion war ein Hirnfurz meinerseits, der aus "Wir haben einen Weg, mit dem man eine bekannte Funktion systematisch approximieren kann" irgendwie "Wir haben einen Weg, mit dem man nur auf Basis von ein paar Datenpunkten Funktionen erraten kann" gemacht hat. Klar, Regression usw. ist bekannt, aber das hat mit TP und TR ja erstmal gar nichts zu tun. Das kannst du unter den Tisch fallen lassen.
Tatsächlich würde mich aber am Rande noch interessieren, ob sich die "abgefahrenen analytischen Resultate", von denen du gesprochen hast, in ihrer Art und Weise, sie zu finden, systematisch von dem Vorgehen bei der Regression unterscheiden. Handwaving und vage Beschreibung reicht mir völlig aus. Muss keine Formel oder gar die Nennung eines Satzes sein.
|
|
|
|
|
|
Thema: pOT-lnformatik, Mathematik, Physik XXIII |