Automatische Genauigkeit von Mathematica

Hier kann man seine Meinungen zum Forum und andere Neuigkeiten mitteilen

Re: Automatische Genauigkeit von Mathematica

Beitragvon contravariant » Do 3. Dez 2015, 21:28

Denke Wolfram Research wird ihren eigenen Kram haben, aber der Rest der Welt kann sowas nutzen
https://en.wikipedia.org/wiki/GNU_Multi ... ic_Library
https://en.wikipedia.org/wiki/GNU_MPFR
contravariant
 
Beiträge: 3012
Registriert: Sa 14. Feb 2009, 20:16

Re: Automatische Genauigkeit von Mathematica

Beitragvon contravariant » Do 3. Dez 2015, 21:38

Spacerat hat geschrieben:Das war aber nicht mein Anliegen. Die Frage war, ob man, wie in Java oder anderen Sprachen auch, die Genauigkeit von Konstanten explizit berechnen muss oder ob das diese Programme selbstständig machen, wenn man irgendwo im Code BigFloats verwendet.

Kann ich Java?
contravariant
 
Beiträge: 3012
Registriert: Sa 14. Feb 2009, 20:16

Re: Automatische Genauigkeit von Mathematica

Beitragvon contravariant » Do 3. Dez 2015, 22:22

Ich verstehe nicht so ganz, was du jetzt willst.. Im übrigen ist der Wert, den der Typ für alpha angibt nicht korrekt.
contravariant
 
Beiträge: 3012
Registriert: Sa 14. Feb 2009, 20:16

Re: Automatische Genauigkeit von Mathematica

Beitragvon contravariant » Do 3. Dez 2015, 23:19

Spacerat hat geschrieben:In Java also statt "java.lang.Math.PI" BigMath.pi(int precision) aufrufen muss. Ich vermute mal, dass es in Mathematica auch einen Unterschied macht, ob man die Formelsymbole vor der Verwendung mit höherer Genauigkeit neu definiert oder schlicht die Standardwerte durch simples nutzen dieser Symbole verwendet. Standardwerte wären eben die durch den Datentyp Double vorgegebenen 15 Nachkommastellen, welche für die korrekte Berechnung z.B. des de Vries-Algos auf beliebig viele Nachkommastellen zu wenig sind.

Nein. Pi in Mathematica ist Pi, wie Pi in der Mathematik Pi ist (und nicht 3,14159...). Mathematica kann mit Pi symbolisch rechnen, zb. ist Sin(Pi)=0 und nicht etwas 1,28976493E-15 wie wahrscheinlich in Double in Java. Erst wenn man explizit einen numerischen Wert berechnen will, dann fängt Mathematica mit Numerik an. Ich denke mal, sie werden ein "paar" Stellen von Pi gespeichert haben, den Rest rechnen sie dann aus wenn nötig.
contravariant
 
Beiträge: 3012
Registriert: Sa 14. Feb 2009, 20:16

Re: Automatische Genauigkeit von Mathematica

Beitragvon contravariant » Fr 4. Dez 2015, 00:54

Ich habe keine Lust, den ganzen Kram da jetzt einzutippen. Aber ich hätte das hier
Code: Alles auswählen
In[1]:= N[Pi,1]
Out[1]= 3.
In[2]:= Sin[3.]
Out[2]= 0.14112
In[3]:= Sin[N[Pi,1]]
Out[3]= 0.
In[4]:= N[Pi,4]
Out[4]= 3.142
In[5]:= Sin[3.142]
Out[5]= -0.000407346
In[6]:= Sin[N[Pi,4]]
Out[6]= 0.*10^-3
In[7]:= N[Pi,6]
Out[7]= 3.14159
In[8]:= Sin[3.14159]
Out[8]= 2.65359*10^-6
In[9]:= Sin[N[Pi,6]]
Out[9]= 0.*10^-5
In[10]:= N[Sin[Pi],1000000000]
Out[10]= 0


Offensichtlich behandelt Mathematica Pi anders als Fließkommakonstanten.
contravariant
 
Beiträge: 3012
Registriert: Sa 14. Feb 2009, 20:16

Jedem das Seine

Beitragvon Yukterez » Fr 4. Dez 2015, 11:36

Dafür dass du hier der Experte sein willst stellst du aber ganz schön viele selten dumme Fragen! Ich würde dir ja eher ein Programm empfehlen bei dem du zumindest eine Chance hast die Bedienungsanleitung zu verstehen:

Bild

Davon abratend sich mit jemandem wie dir ernsthaft über Mathematikprogramme zu unterhalten,

Bild
Yukterez
 
Beiträge: 11225
Registriert: So 8. Apr 2012, 19:55

Re: Automatische Genauigkeit von Mathematica

Beitragvon M.S » Fr 4. Dez 2015, 12:41

Spacerat hat geschrieben:....
Hinzu kommt, dass wenn man das alles auch noch automatisieren wollte, stets eine Abfrage der geforderten Genauigkeit stattfinden muss, zumindest aber diese Genauigkeit durch den gesamten Berechnungsprozess durchgeschleift werden muss. Das sind alles Argumente, die eindeutig gegen eine solche Automatisierung sprechen. Von daher wäre es mal interessant zu erfahren, ob es auch nur eine Software gibt, welche dies tut.


Ja, gibt es.
So schwer ist es ja nun wirklich nicht, sich zumindest den Teil der Doku von mathematica reinzuziehen, der die "Rechengenauigkeit" beschreibt/behandelt. Deine Frage bezüglich der Präzision von Konstanten wird da übrigens in einer einzigen Zeile abgehandelt.

Stellt sich noch die Frage, warum gibt es eigentlich Software wie mathematica? Warum benutzen die Leute für gewisse Anforderungen nicht eine konventionelle Progammiersprache wie z.B. dein geliebtes java oder von mir aus C,C++ oder gleich Assembler?
Rate mal!
M.S
 
Beiträge: 918
Registriert: Di 12. Apr 2011, 17:07

Realsatire vom Feinsten

Beitragvon Yukterez » Fr 4. Dez 2015, 14:49

Damit wir auch alles beisammen haben kopiere ich mal die Weisheiten die Spaßratz gestern im anderen Faden zum Besten gegeben hat hier her, damit auch jeder weiß mit was für einem Experten man es hier zu tun hat:

Bild hat geschrieben:Und als nächstes solltest du dem erstaunten Publikum mal erklären, was du hier so großkotzig rechnest. Denn ist es nicht so, dass eine 1.000000000000305 durchaus, wenn man mit Wurzeln und Winkelfunktionen rechnet, Systemfehler in mindestens den letzten 4 Nachkommastellen beinhalten kann (IEEE 754-Double), was dann u.U. auch bedeuten könnte, dass der Faktor 1 ist, wie man es von Orten auf der Oberfläche einer Kugel auch erwarten würde? Jedes Vorschulkind dürfte das wissen. [ironie]Ihr habt es echt drauf.[/ironie]
Bild hat geschrieben:@JucktDieFress: Was soll der Spam? In welchem Teil deiner Berlin-Melbourne-Berechnung hast du BigFloats verwendet? Du denkst doch wohl nicht wirklich, dass dein tolles Matheprogramm das automatisch macht?
Bild hat geschrieben:RTFM (Read the fucking Manual)
Bild hat geschrieben:Aber der xxx bist schon wieder mal du! Denn sicher ist, dass jedwede Anwendung (unabhängig ob Wolfram-System oder nicht) bedarfsweise mit Double- oder Double-Extended-Minimum arbeitet, solange nichts anderes (z.B. BigFloat) angegeben wurde. Aber ganz sicher denkst du, dein System würde es mal wieder anders machen und braucht dafür etwa genau so lange.
Bild hat geschrieben:Denn von Programminterna hast du offensichtlich keinen Plan. Programme verwenden für Berechnungen von Dezimalzahlen standardmäßig die Möglichkeiten der FPU des Prozessors, damit die Berechnungen schneller gehen. Es gibt weltweit keinen einzigen Prozessor, dessen FPU standardmäßig mit BigFloats arbeitet. Und solange das Programm nicht noch für bestimmte Prozessoren (z.B. AMD-Bulldozer oder -Piledriver) optimiert wurde, bleibt es bei den besagten 64-Bit-Zahlenformaten aus IEEE 754.
Bild hat geschrieben:Zu dem Programmtechnischen: Zumindest ist Mathematika in einer Programmiersprache geschieben und kann nur auf entsprechenden Prozessoren ausgeführt werden. All diese Programmiersprachen haben eine Gemeinsamkeit - die nutzbare Hardware. Damit sind nicht nur die Programmiersprachen von solchen Beschränkungen betroffen, sondern auch die damit erzeugten Produkte. Programmtechnisch hat man natürlich die Möglichkeit, Mechanismen zu implementieren, die z.B. eine höhere Genauigkeit zulässt (z.B. BigFloat in c++ oder BigDecimal in Java). Solche Mechanismen benutzen aber nicht mehr direkt die Hardware, wodurch sie unter Umständen recht langsam werden, weswegen man die Nutzung solcher Mechanismen stets explizit angeben muss, auch in Mathematica. JucktDieFress denkt (du etwa auch?), Mathematika würde dies automatisch machen. Dies aber ist definitiv unmöglich, weil man früher oder später (z.B. bei der Berechnung von PI) auf Endlosbrüche (und damit auf Endlosschleifen!) stößt.

Bild, Bild
Yukterez
 
Beiträge: 11225
Registriert: So 8. Apr 2012, 19:55

Spaßratz sieht den Wald vor lauter Bäumen nicht

Beitragvon Yukterez » Fr 4. Dez 2015, 17:10

Bild hat geschrieben:Nicht großkotzig rumeiern... den Algo implementieren und zeigen, was bei rauskommt!

Das mache ich doch am laufenden Band, du bist nur zu dumm und vor allem dummdreist um es zu bemerken. Auch wenn ich nicht prinzipiell abgeneigt bin Leuten die auch zuhören können Extranachhilfe zu geben wenn sie mich darum bitten so heißt das nicht gleich dass ich auch belehrungsresistenten Problemkindern wie dir alles doppelt und dreifach nachtrage.

Gerade anderweitig beschäftigt,

Bild
Yukterez
 
Beiträge: 11225
Registriert: So 8. Apr 2012, 19:55

Re: Automatische Genauigkeit von Mathematica

Beitragvon M.S » Fr 4. Dez 2015, 17:20

Spacerat hat geschrieben:
M.S hat geschrieben:Stellt sich noch die Frage, warum gibt es eigentlich Software wie mathematica? Warum benutzen die Leute für gewisse Anforderungen nicht eine konventionelle Progammiersprache wie z.B. dein geliebtes java oder von mir aus C,C++ oder gleich Assembler?
Rate mal!

Nö, die Frage stellt sich eben nicht und auch nicht, warum sie ihren Preis hat.

Du kannst natürlich auch mit einem Schraubenzieher einen Nagel in die Wand schlagen. Wird funktionieren, andere nehmen halt einen Hammer.

Spacerat hat geschrieben:Aber den Sinn und Unsinn einer solchen Automatisierung hast du (ihr) schon verstanden, ja?

Den Sinn schon. Der Unsinn ist allerdings auf deinem Mist gewachsen.


Spacerat hat geschrieben:Die andere allerdings schon, erst recht, wenn man selbst weder die Software noch das Manual hat. Und bei dem, was Yukterez an anderer Stelle gezeigt hat, steht kein Wort über die "Problematik" von der ich hier spreche. Euch scheint diese auch nicht klar zu werden. Naja, was solls, dann dann beteiligt ihr euch halt nicht an dieser Diskussion. Aber dann würde ich auch raten (das geht hauptsächlich an Yukterez) nicht immer so großkotzig euren Senf zu Themen dazuzugeben, wenn ihr nicht mal ahnt, worum es geht.


Es gibt hier genug Leute, die genau in dieser Thematik so richtig fit sind. Sei mir bitte nicht böse, aber du gehörst nicht dazu, wie wir bereits in der Vergangenheit (Performance verschiedener Programmiersprachen/Konzepte) festgestellt haben.

Was yukterez betrifft: Nur weil der da offensichtlich dein "Erzfeind" zu sein scheint, bedeutet das noch lange nicht, dass er sich mit seinen Instrumenten/Tools die er (jahrelang?) benutzt, nicht auskennt.

Was ich damit sagen will, ist: Wenn ich zu faul wäre, mir die relevanten Info's selbst rauszusuchen bzw. selbst auszutesten, wäre der nächste naheliegende Weg, jemanden zu fragen, der Erfahrung über das entsprechende Konzept besitzt. Wenn dir die Antwort, die du dann bekommst, nicht passt, musst du die entsprechenden Tests eben selbst durchführen. Kann ja wohl nicht so schwer sein.
M.S
 
Beiträge: 918
Registriert: Di 12. Apr 2011, 17:07

Nächste

Zurück zu Allgemeines

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste