|
|
|
|
ah okay, das scheint in etwa dem neuen Syntax bei IPython zu entsprechen. Dann sind die bei Sage vielleicht tatsächlich schon etwas vorne dran.
|
|
|
|
|
|
|
Vor allem finde ich das Ergebnis mit Abstand lesbarer als Mathematica-Code...
Hey, you do your experiments - I do mine!
|
|
|
|
|
|
|
Keine Kunst.
IPython ist unfassbar geil, aber ich hab auch erst durch ausprobieren kapiert warum.
|
|
|
|
|
|
|
|
|
|
|
Also mit Mathematika hat iPython aber nun echt nix zu tun. Das eine rechnet symbolisch, das andere numerisch. Und für seine Zwecke ist Mathematika auch besser zu bedienen, weil ich Ausdrücke mitten drin bearbeiten kann.
Anywho, ipython sieht ganz nett aus, ich glaube ich schaue mir das mal genauer an.
|
|
|
|
|
|
|
Mit SymPy kann man symbolisch in Python rechnen. Funktioniert sehr gut.
|
|
|
|
|
|
|
Mit Sage kann man symbolisch rechnen.
|
|
|
|
|
|
|
Ist halt die Frage, wofür du es benutzt. Ich brauch vermutlich auf längere Sicht kein symbolisches rechnen mehr
|
|
|
|
|
|
|
Ich wette, ich brauche maximal 5 Minuten um ein beispiel zu finden, dass die beiden nicht können aber Mathematika schon. Andersherum wird es länger dauern.
Ich weiß ja, dass es Pakete für sowas gibt. Matlab hat auch so ein addon. Aber es ist eben nicht das selbe wie in Mathematica, wo alles nur darauf ausgelegt ist. WoS: Kannst du in Sage ordentlich mit Tensoren rechnen? Also mit mehreren Indices, Gauß-Konvention usw.? Das war das einzige, was mich in Mathematica bisher vor echte Probleme gestellt hat und da hat ein cooles Paket nachgeholfen. Damit konnte man in der ART ziemlich viel und einfach mit ausrechnen.
@RichterSkala: Ich auch nicht. Aber hin und wieder eben schon. Und besonders bei Integralen oder Diff-Gleichungen habe ich gerne mal die Lösung zum Anfassen und nicht nur irgendeinen Vektor aus Zahlen.
/e: Ich will ja gar nix klein reden. Ich habe nur gesagt, dass der Vergleich mit Mathematica hinkt, weil die Programme ganz andere Zielsetzungen und Anwendungsgebiete haben. Eher sollte man es mit Matlab vergleichen, wo Python dank scipy/numpy schon arg gut abschneidet.
|
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von Oli am 03.04.2014 15:52]
|
|
|
|
|
|
Kann Mathematika sowas:
Spoiler - markieren, um zu lesen:
oder sowas:
Spoiler - markieren, um zu lesen:
?
|
|
|
|
|
|
|
Kann man damit Geld verdienen?
|
|
|
|
|
|
|
Gauß-Konvention sagt mir gerade null. Google klingt so ein wenig wie eine Vorstufe von der (Einsteinschen) Summenkonvention.
Es gibt zum einen ein noch nicht offizielles Sage Manifolds, aber zum anderen bin ich mir sicher, letztens über eine Summenkonventionssache gestolpert zu sein - aber jetzt finde ich sie nicht mehr.
|
|
|
|
|
|
|
Einsteins Konvention meine ich natürlich. Sorry, Hirnverdreher.
Für Mathematica meine ich das hier: http://www.xact.es/ Hat erstaunlich gut funktioniert.
|
|
|
|
|
|
|
Das sieht verdammt cool aus. Leider ist mein Zugriff aus Mathematica wahrscheinlich zeitliche eher sehr beschränkt...
Mal sehen, vielleicht schaffe ich es ja, mich mehr in SageManifolds einzuarbeiten nach der DA und da ein bisschen mitzubasteln.
Mathematica ist super und toll und so... ...aber der Bedienkomfort ist imho beschissen. Angeblich superintuitiv (man sehe sich nur die diversen Werbevideos an), aber im effektiven Einsatz ist mir die Syntax immer völlig schleierhaft geblieben. Während ich jetzt in Sage deutlich flotter vom Fleck komme.
|
|
|
|
|
|
|
Ich musste tierisch lachen bei dem selbstbeweihräucherungsvideo zum rebranding, als Wolfram von super intuitiver Syntax gequatscht hat und dann so ein furchtbar verschachtelter Scheiß als Beispiel kam
|
|
|
|
|
|
|
Die Syntax ist echt pure kotze.
|
|
|
|
|
|
|
Danke, ich fühle mich jetzt etwas besser.
|
|
|
|
|
|
|
Hm. Ich weiß gerade nicht, was schief läuft:
Wenn ich meinen Code ändere (konkret: die Optionen der nonlinear-solver von scipy.optimize verändere) und der neu geladen wird, kommt beim ersten Aufruf meistens:
|
Code: |
/usr/local/sage/sage-6.2/src/bin/sage-ipython:281: OptimizeWarning: Unknown solver options: verbose |
|
Rufe ich die Funktion erneut auf, wird diese Warnung nicht mit ausgegeben.
Fragen:
1. Warum nicht immer, sondern nur meistens beim ersten Aufruf?
2. Warum beim zweiten Aufruf nicht mehr? Gibt er den Fehler nicht mehr aus, obwohl er weiterhin besteht?
3. Was ruft den Fehler hervor? Ich, sage, IPython, numpy, scipy?
Konkret geht es um diese Zeile:
|
Code: |
p2 = scipy.optimize.root(FEXP2, guess,(p0,p1),method='anderson',options={'verbose':True}) |
|
Ich bin verwirrt. Habe ich vielleicht einen Bug gefunden...? Google hilft mir jedenfalls nicht.
Zu den Funktionen:
method: Anderson
Root
|
|
|
|
|
|
|
root kann mit verbose in den options nichts anfangen. Es ist auch kein Fehler, sondern nur eine Warnung, dass diese option verworfen wird.
|
Code: |
>>> from scipy.optimize import *
>>> show_options('root', 'anderson')
Anderson options:
nit : int, optional
Number of iterations to make. If omitted (default), make as many
as required to meet tolerances.
disp : bool, optional
Print status to stdout on every iteration.
maxiter : int, optional
Maximum number of iterations to make. If more are needed to
meet convergence, `NoConvergence` is raised.
ftol : float, optional
Relative tolerance for the residual. If omitted, not used.
fatol : float, optional
Absolute tolerance (in max-norm) for the residual.
If omitted, default is 6e-6.
xtol : float, optional
Relative minimum step size. If omitted, not used.
xatol : float, optional
Absolute minimum step size, as determined from the Jacobian
approximation. If the step size is smaller than this, optimization
is terminated as successful. If omitted, not used.
tol_norm : function(vector) -> scalar, optional
Norm to use in convergence check. Default is the maximum norm.
line_search : {None, 'armijo' (default), 'wolfe'}, optional
Which type of a line search to use to determine the step size in
the direction given by the Jacobian approximation. Defaults to
'armijo'.
jac_options : dict, optional
Options for the respective Jacobian approximation.
alpha : float, optional
Initial guess for the Jacobian is (-1/alpha).
M : float, optional
Number of previous vectors to retain. Defaults to 5.
w0 : float, optional
Regularization parameter for numerical stability.
Compared to unity, good values of the order of 0.01. |
|
|
|
|
|
|
|
|
Ah, d.h. die Options von anderson und root mit method:anderson heißen anders... ...ha. ...ha.
|
|
|
|
|
|
|
Ich brauch für ne Arbeit ein paar Grafiken um Theorien besser zu veranschaulichen. Dabei geht es hauptsächlich um Graphen, also muss ich hauptsächlich Knoten zeichnen können und eventl. mehrere Knoten farblich als Raum hervorheben. Gibts für sowas vielleicht ein kleines Tool? Ansonsten wollte ich mir jetzt einfach mal tikz anschauen.
|
|
|
|
|
|
|
|
|
|
|
Das geht mit Tikz (und sieht gut aus), ist aber im Vergleich zu graphviz ziemlich mühselig.
|
|
|
|
|
|
|
|
|
|
|
...wo stimmen hier "input shape" und "output shape" nicht zusammen...?
|
Code: |
def Fgeo(Y,Y0,YK):
glg = np.empty((K-1,nint,2))
#hier passiert die Zuweisung
#...
#und das Programm endet mit
return glg
|
|
|
Code: |
...
Ystart = Ystart.reshape(K-1,nint,2)
...
geodesic = scipy.optimize.root(Fgeo, Ystart,(poly1,poly2),method='hybr',options={'disp':True})
...
-->
TypeError: fsolve: there is a mismatch between the input and output shape of the 'func' argument 'Fgeo'. |
|
Ich schnalle es nicht. Überall sind die Arrays von der verlangten Größe, wo ist also das Problem?
¤DIT:
Um das Problem genauer zu beschreiben: Laut Beschreibung von root darf ich zusätzliche Argumente mit reingeben. (Hier Y0 und YK in Fgeo, bzw. das Tupel (poly1,poly2) im Aufruf von root). Das ist bei den anderen Lösern auch nie ein Problem gewesen. Nur hybr (nebenbei der Standard) will nicht und nörgelt rum. Und im Quelltext von root finde ich nichtmal Hinweise auf fsolve.
EDIT²:
_root_hybr aus minpack nimmt auch als Tupel weitere Argumente auf.
EDIT³:
Boah, wenn die Funktionen mal klar sagen können, wann sie ein () brauchen und wann nicht!
|
[Dieser Beitrag wurde 4 mal editiert; zum letzten Mal von Wraith of Seth am 03.04.2014 23:48]
|
|
|
|
|
|
|
|
|
|
Wieso sagt mir denn da (i.e. im Funthread) niemand, dass ich Idiot nicht weiß, was ein rechter Winkel ist. Und mir kam das Ergebnis die ganze Zeit so seltsam vor...
Gottseidank konnte ich nicht einschlafen und die REchnung im Kopf nochmal durch-xen.
The great thing about physical intuition is that it can be adjusted to fit the facts.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Wraith of Seth am 04.04.2014 15:20]
|
|
|
|
|
|
| Zitat von Redh3ad
Graphviz?
| |
passt, danke!
|
|
|
|
|
|
|
|
|
|
|
sieht stark nach tikz aus, oder?
|
|
|
|
|
|
Thema: pOT-lnformatik, Mathematik, Physik XVI ( Ship painting activities ) |