Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
restrepo
GitHub Repository: restrepo/ComputationalMethods
Path: blob/master/syllabus/syllabus.tex
934 views
1
\documentclass[a4,useAMS,usenatbib,usegraphicx,12pt]{article}
2
%External Packages and personalized macros
3
\include{macros}
4
5
\begin{document}
6
\begin{flushleft}
7
\sffamily\bfseries
8
{\Large Computational Methods}\LOGO\\
9
Universidad de Antioquia\\
10
Facultad de Ciencias Exactas y Naturales\\
11
First Term 2015
12
\end{flushleft}
13
14
\hrulefill\par
15
16
\vspace{1cm}
17
%==============================================================================
18
\begin{tabular}{L!{\VRule}R}
19
\bf Professor & Sebastian Bustamante\\
20
\bf E-mail & sbustamante.academic \textit{at} gmail.com\\
21
\bf Classroom & Computer room 6-125\\
22
\bf Class Time & (\textbf{Group 1} M-J 8.00-10.00 am), (\textbf{Group 2} W-F 8.00-10.00 am) \\
23
\bf Advisory & --
24
\end{tabular}
25
26
27
%==============================================================================
28
\section*{Introduction}
29
30
This course is intended for students of Astronomy and Physics at the Universidad
31
de Antioquia and will cover some numerical methods commonly used in science and
32
specially in physics and astronomy. These topics will be addressed from a formal
33
context but also keeping a practical and computational approach, illustrating
34
many useful applications in problems of physics and astronomy.
35
%==============================================================================
36
37
%==============================================================================
38
\section*{Motivation}
39
40
As we understand more deeply our surrounding world, the involved phenomena
41
exhibit an ever increasing complexity and numerical solutions have become
42
more and more common in physics and astronomy as an alternative (and a complement)
43
to analytic solution. It is thus necessary to well understand the capabilities
44
and limitations of these numerical methods as well as the type
45
of problems where they can be implemented.
46
%==============================================================================
47
48
%==============================================================================
49
\section*{Methodology}
50
51
Although a formal mathematical approach of the numerical methods is necessary,
52
including deductions and error analysis, an \textit{algorithmic thinking} is more
53
than mandatory when we want to apply these methods to some specific problem. In
54
this context, \textit{algorithmic thinking} may be defined as the ability of
55
abstract thinking in such a way we can tell the computer clearly how to do what
56
we want it to do. Although a computer is not really required when applying
57
numerical methods, the massive number of involved calculations makes more
58
practical computational implementations.
59
60
\
61
62
As cycling, programming is a matter of practice, so in order to develop this
63
\textit{algorithmic thinking} there will be a strong practical component. This
64
practical component will be almost entirely developed in \textit{Python} and
65
slightly less in \textit{C} (when computational performance is required).
66
However, students with knowledge in other programming languages (except
67
privative languages like MatLab, Mathematica) are also aimed to use them.
68
69
\
70
71
The course will be addressed in two steps each class: first, a formal
72
introduction of the numerical methods will be presented, including deductions
73
(when appropriated) and error analysis. For this part the students are expected
74
to consult by their own before class the respective topic, so they can go
75
quickly to the practical part. Secondly, the practical part will cover short
76
applications of the presented methods as well as some examples developed by
77
the professor during class.
78
%==============================================================================
79
80
%==============================================================================
81
\section*{Material}
82
83
All the material of the course will be maintained in the next repository:
84
85
\url{ https://github.com/sbustamante/ComputationalMethods }
86
87
This syllabus along with notes, presentations, solved examples, extra material
88
and homework can be found there. The repository will be updated as the
89
course advances.
90
%==============================================================================
91
92
%==============================================================================
93
\section*{Evaluation}
94
95
The course is divided into three main blocks: the first includes numerical
96
methods for general algebra; the second block is related to numerical methods
97
for calculus and linear algebra; finally the third block is about numerical
98
methods for differential equations and statistics. Each one of these blocks
99
will be evaluated with an exam of $25\%$. Additionally, weekly homework will
100
cover the last $25\%$.
101
102
\
103
104
For the homework, some bonuses will be taken into account from time to time,
105
for example the faster code, the more accurate, and so on. These bonuses would
106
add $0.5$ to the grade of the respective task. The three exams will be held
107
during class time and may involved computational activities as well as analytical
108
work.
109
%==============================================================================
110
111
\newpage
112
%==============================================================================
113
\section*{Program}
114
115
\subsection*{0. Overview of Python}
116
Basic commands of Python. Scripting. Scientific Libraries (Numpy, Scipy).
117
Plotting with Matplotlib. IPython notebooks.
118
119
\subsection*{1. Mathematical preliminaries}
120
Round-off errors. Computer arithmetic. Algorithms and convergence.
121
122
\subsection*{2. One variable equations}
123
Transcendental equations. Bisection method. Fixed-Point iteration. Newton's
124
Method. Error analysis. Zeros of polynomials. Applications.
125
126
\subsection*{3. Interpolation}
127
Linear interpolation. Lagrange polynomials. Divided differences. Hermite
128
interpolation. Cubic spline interpolation. Applications.
129
130
\subsection*{4. Numerical calculus}
131
Numerical differentiation. Numerical integration. Composite numerical integration.
132
Adaptive Quadrature Methods. Multiple integrals. Improper Integrals.
133
Applications.
134
135
\subsection*{5. Linear algebra}
136
Linear systems of equations. Iterative techniques. Inverses and determinants.
137
LU factorization. Cholesky factorization. Pivoting strategies. Applications.
138
139
\subsection*{6. Differential equations}
140
First order methods: Euler, leap frog. Second order methods: Runge Kutta methods.
141
Systems of differential equations. Boundary and initial conditions. Applications.
142
143
\subsection*{7. Statistics}
144
Data adjust. Least square and non-linear least square. Random numbers. Monte
145
Carlo techniques. Descriptive statistics. Applications.
146
%==============================================================================
147
148
%==============================================================================
149
\newpage
150
\section*{Schedule}
151
152
\begin{table}[!ht]
153
\begin{small}
154
\begin{flushleft}
155
\begin{center}
156
\begin{tabular}{l l l} \hline\hline
157
\centering\textbf{Class} & \textbf{Date (1/2)} & \textbf{Topics} \\ \hline
158
0 & Apr 21/22& Presentation of the course. \\
159
& & \textbf{0. Overview of Python} \\
160
1 & Apr 23/24& Overview. Basic scripting. \\
161
2 & Apr 28/29& Scientific libraries. Matplotlib. \\
162
3 & Apr 30/01& IPython notebooks. \\
163
& & \textbf{1. Mathematical Preliminaries} \\
164
4 & May 05/06& Computer arithmetic. Round-off methods. \\
165
5 & May 07/08& Algorithms and convergence. \\
166
& & \textbf{2. One variable equations} \\
167
6 & May 12/13& Bisection method. \\
168
7 & May 14/15& Fixed-point iteration. \\
169
8 & May 19/20& Newton's methods. Error analysis. \\
170
& & \textbf{3. Interpolation} \\
171
9 & May 21/22& Linear interpolation. Lagrange polynomials. \\
172
10 & May 26/27& Divided differences. \\
173
11 & May 28/29& Hermite interpolation. Cubic spline interpolation. \\
174
& & \textbf{4. Numerical Calculus} \\
175
12 & Jun 02/03& Numerical differentiation. \\
176
\textbf{E1} & Jun 04/05& \textbf{EXAM 1 (Topics 1, 2 and 3) (Sessions 1-11)} \\
177
13 & Jun 09/10& Numerical integration. Composite numerical integration. \\
178
14 & Jun 11/12& Adaptive quadrature methods. \\
179
15 & Jun 16/17& Improper integrals. \\
180
& & \textbf{5. Linear Algebra} \\
181
15 & Jun 18/19& Linear systems of equations. Gaussian elimination. \\
182
16 & Jul 07/08& Pivoting strategies. Inverses and determinants. \\
183
17 & Jul 09/10& LU factorization. Cholesky factorization. \\
184
& & \textbf{6. Differential Equations} \\
185
18 & Jul 14/15& Firs order methods: Euler, Leap frog. \\
186
\textbf{E2} & Jul 16/17& \textbf{EXAM 2 (Topics 4 and 5) (Sessions 13-17)} \\
187
19 & Jul 21/22& Second order methods: Runge Kutta methods. \\
188
20 & Jul 23/24& Systems of differential equations.\\
189
21 & Jul 28/29& Boundary initial conditions.\\
190
& & \textbf{7. Statistics} \\
191
22 & Jul 30/31& Data adjust. Least square.\\
192
23 & Aug 04/05& Random numbers. Descriptive Statistics\\
193
24 & Aug 06/07& Monte Carlo techniques. Descriptive Statistics\\
194
\textbf{E3} & Aug 13/14& \textbf{EXAM 2 (Topics 6 and 7) (Sessions 18-24)} \\
195
\hline\hline
196
\end{tabular}
197
\end{center}
198
\end{flushleft}
199
\end{small}
200
\end{table}
201
202
%==============================================================================
203
\newpage
204
\section*{Bibliography}
205
\begin{itemize}
206
\item \textit{Numerical Analysis}, Richard L. Burden \& J.Douglas Faires. Ninth edition. 2011.
207
\item \textit{Numerical Recipes, the Art of Scientific Computing}, William H. Press, Saul A. Teukolsky,
208
William T. Vetterling \& Brian P. Flannery. Third edition. The Cambridge University Press. 2007.
209
\item \textit{Introduction to Computational and Programming Using Python}, Guttag, J. V.
210
The MIT Press. 2013.
211
\end{itemize}
212
213
%==============================================================================
214
\end{document}
215
216