|
|
|
|
Ich würde gerne in nächster Zeit ein bisschen mehr Python lernen. Mit welchem Buch (das auch als Nachschlagewerk was taugt) stelle ich das am Besten an?
|
|
|
|
|
|
|
Das soll doch ziemlich gut sein, auch wenns nicht so wirklich als Nachschlagewerk taugt.
|
|
|
|
|
|
|
| Zitat von SwissBushIndian
Das soll doch ziemlich gut sein, auch wenns nicht so wirklich als Nachschlagewerk taugt.
| |
Wird zur Zeit auch schon benutzt!
Ich greife halt gerne von Zeit zu Zeit nochmal auf ein Buch zurück.
|
|
|
|
|
|
|
Ansonsten hat codecademy jetzt auch eine Python-Sektion zum Üben.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von nobody am 22.01.2013 0:43]
|
|
|
|
|
|
|
|
|
|
Ägypter-Atome.
Da stimmt noch was mit den Parametern nicht.
|
|
|
|
|
|
|
| Zitat von Oli
| Zitat von Ares
| Zitat von Oli
Da unser Cluster dazu nicht fähig ist, bringt es vermutlich nicht viel. Wenn ich GPGPU jetzt richtig interpretiere mit: Irgendwas auf der Grafikkarte laufen zu lassen.
| |
Interpretation stimmt. Gerade bei parallelen Berechnungen (und deine Simulationen sehen durchaus so aus als waere da Potential zur Paralleisierung) kann GPGPU mordsmaessig viel schneller sein. Und mit mordsmaessig viel schneller meine ich nicht "nur" doppelt oder dreifach so schnell.
| |
Sein kann das, aber meine Spielereien mit OpenMP enden meist in einem Desaster. Es gibt zu viele Variablen, die gemeinsam aktuell gehalten werden oder so.
Aber mal dazu ne Frage. Ich hab eine Mapping 4d->1d Funktion, die sehr häufig aufgerufen wird. Bringt Parallelisierung da was oder ist es Overhead, da threads zu spawnen?
Hier:
|
Code: |
inline void
index_to_ijkl ( int index, int * ijkl )
{
ijkl[0] = index % prms.lx;
ijkl[1] = ( index / prms.lx ) % prms.ly;
ijkl[2] = ( ( index / prms.lx ) / prms.ly ) % prms.h;
ijkl[3] = ( ( index / prms.lx ) / prms.ly ) / prms.h;
} |
|
Parallelisiert
|
Code: |
inline void
index_to_ijkl ( int index, int * ijkl )
{
#pragma omp parallel if(prms.parallel)
{
ijkl[0] = index % prms.lx;
ijkl[1] = ( index / prms.lx ) % prms.ly;
ijkl[2] = ( ( index / prms.lx ) / prms.ly ) % prms.h;
ijkl[3] = ( ( index / prms.lx ) / prms.ly ) / prms.h;
}
} |
|
/e: Scheint parallel langsamer zu sein.
| |
Guck mal, ob du irgendwie den modulo-operator vermeiden kannst. Der hat mir aml in einer inneren Schleife stark auf die Performace gedrückt.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Aye… sehr portables Zeug dabei
t.u[__FLOAT_WORD_ORDER==LITTLE_ENDIAN] = 0x43300000;
t.u[__FLOAT_WORD_ORDER!=LITTLE_ENDIAN] = v;
t.d -= 4503599627370496.0;
r = (t.u[__FLOAT_WORD_ORDER==LITTLE_ENDIAN] >> 20) - 0x3FF;
Niemand hat die Absicht magic numbers zu benutzen.
|
|
|
|
|
|
|
Was raff ich an dem ersten Beispiel nicht?
|
Code: |
#include <stdlib.h>
#include <stdio.h>
int
main(void)
{
const unsigned int n = 21310; // numerator
const unsigned int s = 17;
const unsigned int d = 1U << s; // So d will be one of: 1, 2, 4, 8, 16, 32, ...
unsigned int m; // m will be n % d
m = n & (d - 1);
printf("%u %u\n", n % s, m);
return 0;
} |
|
>> 9 21310
/e: Ach, ist das Abhängig von den Zahlen? Nervig.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Oli am 22.01.2013 12:43]
|
|
|
|
|
|
Ich bezweifel einfach mal, dass diese Techniken auf modernen CPUs noch schneller sind als der Microcode, der — vermutlich — auch nicht ganz un-optimiert ist
|
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von csde_rats am 22.01.2013 13:19]
|
|
|
|
|
|
|
|
|
|
| Zitat von Papillon
Ich würde gerne in nächster Zeit ein bisschen mehr Python lernen. Mit welchem Buch (das auch als Nachschlagewerk was taugt) stelle ich das am Besten an?
| |
Willst du Python 2 oder 3 lernen?
Für 2 kann ich das hier empfehlen:
http://www.amazon.de/Coding-Fun-mit-Python-Garantiert/dp/3836215136/ref=sr_1_1?ie=UTF8&qid=1358861015&sr=8-1
Ein wenig Einleitung in OpenGL und pygame, plus noch ein wenig Algorithmisches. Ich habe es noch nicht durchgearbeitet, aber bislang hat es mir durchaus Spaß gemacht.
/Edit: Ich sollte noch anhängen, dass es als Nachschlagewerk wenig taugt. Da würde ich auch eher zur Online-Dokumentation raten.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von I-Bot am 22.01.2013 14:26]
|
|
|
|
|
|
Jemand ne Idee wie ich folgendes Integriert bekomme? Integrationsbereich ist von minus bis plus unendlich.
Wolfram-Alpha spuckt mir
aus, genau das was ich bräuchte. Aber das muss doch auch irgendwie über den Holzweg funktionieren...
|
|
|
|
|
|
|
Kleiner Einwurf an die Latex-Profis: Warum ist das Integral standardmäßig zu klein hier?
——
Ich frag hier auch mal, vielleicht hat jemand eine Idee: Ich bräuchte einen Hufeisenmagneten, im Idealfall Elektromagnet, aber Wicklungen draufpacken schaffe ich auch selber. Abstand zwischen den Schenkel in der Gegend von 20-30mm und ordentlich lange Schenkel (~100 mm, eher mehr)… ist für eine kleine DIY Wirbelstrombremse…
Bei eBay/Amazon/Google finde ich nur eher kleine Magnete···
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von csde_rats am 22.01.2013 17:58]
|
|
|
|
|
|
| Zitat von Bazooker
Jemand ne Idee wie ich folgendes Integriert bekomme? Integrationsbereich ist von minus bis plus unendlich.
Wolfram-Alpha spuckt mir
aus, genau das was ich bräuchte. Aber das muss doch auch irgendwie über den Holzweg funktionieren...
| |
Substitutionsregel anwenden und dann weiter rechnen.
Oder man guckt in einer Integraltabelle nach (zB. Bronstein).
---
das plaintex \int verträgt sich wohl nicht mit \frac
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Kambfhase am 22.01.2013 18:23]
|
|
|
|
|
|
| Zitat von Bazooker
Jemand ne Idee wie ich folgendes Integriert bekomme? Integrationsbereich ist von minus bis plus unendlich.
Wolfram-Alpha spuckt mir
aus, genau das was ich bräuchte. Aber das muss doch auch irgendwie über den Holzweg funktionieren...
| |
mit
Das Integral ergibt laut Wolfram Alpha auch Pi/2 aber kanns grad nicht elementar ausrechnen
|
|
|
|
|
|
|
Was machst du von Schritt 2 nach 3?
|
|
|
|
|
|
|
und sukzessives Umbenennen
|
|
|
|
|
|
|
Wenn du Ge/Si simulieren würdest, würde ich sagen, passt.
Pyramidale Quantenpunkte sind da keine Seltenheit.
Da du aber Si/Si machst, bin ich skeptisch.
|
|
|
|
|
|
|
|
|
|
|
Also erstens sind die mit "nichtrekursiv" betitelten Funktionen rekursiv und zweitens ist die Fakultät von 20 2.432.902.008.176.640.000, der größte mit Integer darstellbare Wert ist hingegen 2.147.483.647. Du solltest BigInteger nehmen.
|
|
|
|
|
|
|
Die rekursive Version wird ab einer bestimmten Zahl immer StackOverflowErrors schmeißen, das liegt an der Rekursion und dagegen kannst du nichts machen.
Allerdings ist die Methode "Fakultaet" auch rekursiv, die soll wohl die Fakultät iterativ berechnen und den StackOverflow vermeiden
| Zitat von cms
Du solltest BigInteger nehmen.
| |
Die Aufgabenstellung verlangt long , da würde ich mich penibel dran halten.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Redh3ad am 22.01.2013 20:18]
|
|
|
|
|
|
Und Fibonacci ist rekursiv, während FibonacciRekursiv iterativ ist
Die Zeitmessung solltest du immer in der Methode selbst starten, so wird ja nur die Zeit seit der Instanziierung der Klasse angegeben und nicht die Zeit der letzten Messung.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Danzelot am 22.01.2013 20:19]
|
|
|
|
|
|
| Zitat von horscht(i)
Wenn du Ge/Si simulieren würdest, würde ich sagen, passt.
Pyramidale Quantenpunkte sind da keine Seltenheit.
Da du aber Si/Si machst, bin ich skeptisch.
| |
Ne, weiß und blau sind Ga und P.
/e: War aber noch ein Fehler im Programm.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Oli am 22.01.2013 20:27]
|
|
|
|
|
|
hab die Sachen mal geändert und versucht die Methode Fakultaet anzupassen -> http://pastebin.com/vTNhf37j
ist das auch richtig ( iterativ halt.. ) auch wie die Zeitmessung eingebaut ist?
|
|
|
|
|
|
|
Mit nur einem flüchtigen Blick sieht es aus wie der Karteneditor von Simcity
|
|
|
|
|
|
|
Ja, das ist iterativ, die Zeitmessung stimmt auch, allerdings kannst du damit gerade nichts anfangen, da das Ergebnis von getLastRuntime() im Nirvana verschwindet. Beachte aber, dass die Fakultät nur für natürliche Zahlen definiert ist, ein int in Java aber immer signed ist (also auch negative Zahlen zulässt).
/: ZwiPo
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von cms am 22.01.2013 20:38]
|
|
|
|
|
|
schon mal jemand einen Vortrag für schüler gehalten (11te Klasse Gymnasium)
Muss nächste Woche Dienstag 4 h mit denen verbringen. 2h vortrag, 2h praktikum(also grob, sind natürlich pause etc. pp. mit drinnen)
irgenjemand sowas schonmal gemacht und kann ein paar tips aus erster Hand mitgeben?
Oder allgmein Erfarhungen, Ängste, Wünsche, Tips, etc. pp.
Kann evtl. auch die Folien hochladen wenn ich sie endlich mal fertig habe....
|
|
|
|
|
|
Thema: pOT-lnformatiker, Mathematiker, Physiker XII ( Jetzt mit Primzahlen > 1024 ) |