Introduction to Computational Physics with examples in Julia [draft ed.]
Book can be downloaded here: https://gitlab.com/gersonjferreira/intro-comp-phys/-/tree/master/IntroBookJulia
115
34
800KB
English
Pages [99]
Year 2017
Report DMCA / Copyright
DOWNLOAD PDF FILE
Table of contents :
Contents
Introduction
Introduction to the Julia language
Installing Julia (needs update)
JuliaBox
Juno IDE
iJulia
Trying Julia for the first time
The command line interface
Essential commands, auto-complete, and command history
Using scripts
Other interfaces
Constants and variable types
Assertion and Function Overloading
Composite Types (struct)
Tuples
Arrays: vectors and matrices
Indexing an array or matrix
Concatenation
Scope of a variable
Control Flow: if, for, while and comprehensions
Conditional evaluations: if
Ternary operator ?:
Numeric Comparisons
For and While Loops
Comprehensions
Input and Output
Other relevant topics
Passing parameters by reference or by copy (not finished)
Operator Precedence
Questions from the students
Problems
Differential and Integral Calculus
Interpolation / Discretization
Numerical Integration - Quadratures
Polynomial Interpolations
Adaptive and multi-dimensional integration
Monte Carlo integration
Numerical Derivatives
Finite differences and Taylor series
Matrix Representation
Derivatives via convolution with a kernel
Other methods, Julia commands and packages for derivatives
Problems
Ordinary Differential Equations
Initial value problem: time-evolution
The Euler method
Runge-Kutta Methods
Stiff equations
Julia's ODE package
Boundary-value problems
Boundary conditions: Dirichlet and Neumann
The Sturm-Liouville problems
The Wronskian method
First step: find two linearly independent solutions of the homogeneous equation
Second step: find the particular solution of the inhomogeneous equation
Third step: impose the physical boundary conditions
Example: the Poisson equation via the Wronskian method
Schroedinger equations: transmission across a barrier
Non-linear differential equations
The shooting method
The eigenvalue problem
Oscillations on a string
Electron in a box
Method of finite differences
Problems
Fourier Series and Transforms
General properties of the Fourier transform
Numerical implementations
Discrete Fourier Transform (DFT)
Fast Fourier Transform (FFT)
Julia's native FFT
Applications of the FFT
Spectral analysis and frequency filters
Noise and frequency filters
Solving ordinary and partial differential equations
Diffusion equation
Quantum operators in k-space, the split-step method
Problems
Statistics (TO DO)
Random numbers
Random walk and diffusion
The Monte Carlo method
Partial Differential Equations (TO DO)
Separation of variables
Discretization in multiple dimensions
Iterative methods, relaxation
Fourier transform (see §4.3.2)
Plotting (not finished)
PyPlot
Installing PyPlot
Using PyPlot
Most useful features and examples
Calling non-ported functions from Matplotlib
Latex
Subplot
Labels
Legends
Other plot elements
Saving into files (PNG, PDF, SVG, EPS, ...)
Animations
Other topics (TO DO)
Linear algebra
Root finding
Linear systems
Least squares
Bibliography