online .pdf paper (for personal use only) - Chair of Materials Science ...
online .pdf paper (for personal use only) - Chair of Materials Science ...
online .pdf paper (for personal use only) - Chair of Materials Science ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Appendix C.<br />
Numerical implementations<br />
C.1. Programming language, libraries and<br />
tools<br />
The numerical work presented in this thesis was done using Open Source<br />
tools exclusively:<br />
• As a programming language, Python (http://www.python.org) by<br />
G. Rossum et al. was chosen due to its flexibility. Being an interpreted<br />
language, small scripts can be written with minimal overhead,<br />
allowing many ideas to be tried out. Yet, unlike other scripting<br />
languages, Python encourages the author to write clear and wellstructured<br />
code that can be well maintained and re<strong>use</strong>d.<br />
• The library NumPy (http://www.numpy.org) by T. Oliphant et al.<br />
allows the very efficient and elegant handling <strong>of</strong> arrays <strong>of</strong> numerical<br />
data within Python. For many numerical problems, this approach<br />
completely eliminates the per<strong>for</strong>mance penalty <strong>of</strong> the interpreted<br />
language. Handled correctly, the bulk <strong>of</strong> the computations runs at<br />
the full speed <strong>of</strong> C or Fortran, with the <strong>use</strong>r <strong>only</strong> writing Python<br />
code or, in special situations, small snippets <strong>of</strong> compiled code.<br />
• The library SciPy (http://www.scipy.org) by E. Jones et al. contains<br />
a collection <strong>of</strong> numerical algorithms based on NumPy.<br />
• The library pyTables (http://www.pytables.org) by F. Altet et al. was<br />
<strong>use</strong>d <strong>for</strong> the storage <strong>of</strong> numerical data. This library gives highly<br />
efficient and elegant access to HDF5 data files, storing numerical<br />
data in full binary precision in flexible hierarchical structures. The<br />
library is fully integrated with NumPy.<br />
183