/ Aarhus University
/ Physics
/ Subatomic Physics
/ Nuclear Theory
>
Numeriske Metoder / Numerical
methods. F10
[
FAQ
| Homeworks
| F09 home-page ]
- NB:
-
-
The project has to include a report in PDF
format, together with the source code of your programs, and
the makefile. The comments in the code are not obligatory, by
they certainly help. An example of a project can be found here.
- The deadline for the project is midday July 5th, 2010. There should
be a "project" subdirectory in your "numeric" directory, where I expect
to be able to find your project.
- Remember
'
chmod
a+xr your-files-to-show-off
'
-
When you are finished with the exercise check that everything builds
and remember to actually
make
all the exercise targets!
- Schedule:
-
Lectures: Monday, 09:15 and Wednesday, 12:15, Fys.Aud.
Exercises: Thursday, 14:15 11:15 and Friday, 13:15, aud. 1525-319.
- Exercises:
-
Hello World,
Interpolation,
Adaptive integration,
Monte Carlo integration,
ODEs,
QR-decomposition,
Least-Squares fit,
Eigenvalues,
RootFinding and Optimization,
FFT,
- Weekly notes:
-
-
Introduction:
Numerical computations in physics;
servers and clusters;
POSIX systems;
free software;
programming languages;
programming in POSIX environment;
The POSIX
make
utility;
-
Interpolation
[page1.png; page2.png; page3.png; page4.png; pdf;
(June 25 2019)]
Polynomial interpolation; spline interpolation: linear, quadratic, cubic;
other forms of interpolation; multivariate interpolation.
- Exercises: structure: makefile, main.c, method.c, utils.c →
output.txt, illustration.png, ...; Cubic splines.
- Numerical integration (quadratures)
[page1.png; page2.png; page3.png; pdf
(June 25 2019)
]
Quadratures with equally spaced abscissas (Newton-Cotes);
quadratures with optimized abscissas (Gauss);
adaptive algorithms with equally spaced abscissas;
Gauss-Kronrod quadratures.
- Monte Carlo integration
[page1.png; page2.png; page3.png; page4.png; pdf
(June 25 2019)
]
Plain Monte Carlo sampling; importance sampling;
stratified sampling; quasi-random sequences.
- Ordinary differential equations
[page1.png; page2.png; page3.png; page4.png; pdf
(June 25 2019)
]
One-step (Runge-Kutta) methods; multi-step and predictor-corrector methods;
error estimates; adaptive step-size strategy.
- Systems of linear equations
[page1.png; page2.png; page3.png; pdf
(June 25 2019)
]
Triangular systems and back-substitution; LU-decomposition: Doolittle
algorithm; QR-decomposition: modified Gram-Shmidt algorithm; determinant of
a matrix; matrix inverse.
- Linear least-squares problem
[page1.png; page2.png; pdf
(June 25 2019)
]
Least-squares solution with QR-method; ordinary least-squares fit;
fit errors and covariance matrix.
- Eigenvalues and eigenvectors
[page1.png; page2.png; page3.png; page4.png; pdf
(June 25 2019)
]
Jacobi eigenvalue algorithm; QR/QL algorithm;
power method; inverse iteration method.
- Nonlinear equations and optimization
[page1.png; page2.png; page3.png; page4.png; pdf
(June 25 2019)
]
modified Newton's method; Broyden's quasi-Newton's method; downhill
simplex method.
- Fast Fourier transform and applications: (examples in C and
Python (and C#))
[page1.png; page2.png; pdf
(June 25 2019)
]
Danielson-Lanczos lemma and Cooley-Tukey algorithm.
- Krylov subspace methods:
[page1.png; page2.png; pdf
(June 25 2019)
]
Arnoldi and Lanczos methods for finding few eigenvalues of a matrix;
GMRES (Generalized Minimum RESidual) method for solving systems of linear
equations.
- Ideas for projects:
-
Partial differential equations; finite-difference method; spectral
method.
-
Schrodinger equation: eigen-functions: shooting method;
-
Schrodinger equation: eigen-functions: finite-difference method;
- Last bits:
- The art of least-squares fitting: why do I get so big errors?
- Calculations of the complex valued special functions.
[ png, pdf]
- Literature:
- Numerical Recipes in ...
, by W.H.Press et.al., available on-line
- D.V.Fedorov, Introduction to Numerical Methods, lecture notes
[1M PS file].
- Evaluation:
- Only project, 7-scale grade. The project should be like a short
article with the description of the problem, description of the way
you solve it, and discussion of the results.
- Useful links:
- [
Linuxbog.dk |
GNU scientific library |
HTMLhelp |
Computer Language Benchmarks
]
- Computers:
- We have a dedicated server, kecdac, which is a four-processor box
running Ubuntu Karmic. You can only login into it
from inside the local network. That is, from home you have to login
first
into lifa.phys.au.dk and then to kecdac. You can also use the
IFA's servers lifa.phys.au.dk. However, kecdac is a bit more updated
and has a lot more software installed.
- Program examples
- can be found here.
- Homeworks:
//header("Content-Type: text/html; charset=UTF-8");
$users=array(
"fedorov" => array("numeric", "Dmitri Fedorov", "Javascript"),
"ajs06" => array("numeric", "Anne Juhl Sørensen", "Python","","ok"),
"jonas06" => array("numeric", "Jonas Bjerregaard Nielsen","Python","","ok"),
"ng06" => array("numeric", "Natalia Golubeva","Python","","ok"),
"nkc07" => array("numeric", "Nikolaj Kruse Christensen","Python","","later"),
"jkblock" => array("numeric", "Jens Kusk Block Jacobsen","Python","","ok"),
"hha07" => array("numeric", "Hans Harhoff Andersen","Python","","ok"),
"rem07" => array("numeric", "Rune Elgaard Mikkelsen", "Python","","ok"),
"velghe" => array("numeric", "Bob Velghe","Python","","ok"),
"rhe" => array("numeric", "Rochus Herrmann","Python","","later"),
"sdh06" => array("numeric", "Sidse Damgaard Hansen","Python","","ok"),
"tjb06" => array("numeric", "Tue Boesen","Python","","ok"),
"olf06" => array("numeric", "Ole Lund Frederiksen","Python","?","?"),
"hjalte" => array("numeric", "Hjalte Kiefer","Python","","ok"),
"mdj07" => array("numeric", "Morten Dahl Jeppesen", "C++","output?","ok"),
"tuttoweb" => array("", "Mario Valerio Giuffrida","C++","","ok"),
"irelj" => array("numeric", "Irene Lozano Jiménez","C++","","ok"),
"mvl07" => array("numeric", "Morten Lund", "C++","","ok"),
"gunvor" => array("numeric", "Gunvor Koldste
Thinggaard","C++","project.pdf ?","ok"),
"f031239" => array("numeric", "Martin Carlsen","C++","","ok"),
"mln83" => array("numeric", "Michael Lindholm Nielsen","C++","?","?"),
"sla06" => array("numeric", "Søren Lindholt Andersen","C++","","later"),
"klj06" => array("numeric", "Kasper Lind Jensen","C++","?","?"),
"swk07" => array("numeric", "Sarah Krog","C++","","ok"),
"lfp06" => array("numeric", "Lars Fogt Paulsen","C++","?","?"),
"tao05" => array("NumericalMethods", "Thomas Amby Ottosen","C++","","ok"),
"kbm05" => array("numeric", "Kaare Mikkelsen","C++","","ok"),
"fdj" => array("numeric", "Filip Drejer Johnsen","C++","","?"),
"tb06" => array("numeric", "Tobias Basse","C++","","later"),
"svest" => array("numeric", "Steffen Vestergaard","Java","","?"),
);
$i=0;
echo "";
echo "";
echo " | |
mtime | hello | | project |
";
$np=0;
foreach($users as $user => $data){
$date=date("F d Y",filemtime("/usr/users/$user"));
echo "$i | ";
$dir="$user/$data[0]";
echo "$data[1] | ";
echo "$date | ";
for($k=2;$k$data[$k]";
if($data[4]=="ok"){echo "";echo ++$np;echo " | ";}
echo "
";
$i++;
}
echo "
";
?>
-
"Copyleft"
© 2004-2009
D.V.Fedorov
(fedorov at phys dot au dot dk)