ECE697-NE Numerical Algorithms (Spring 2014)

Professor Eric Polizzi


    Class Hours: Tue-Thu 2:30pm-3:45pm ELAB 305

    Office Hours: Wed 10:00am-11:30am in Marcus 201C
Syllabus
Short Introduction


Schedule

schedule


H O M E W O R K

HW1 and solution
HW2 and solution
HW3 and solution

C O M P L E M E N T   and   R E F E R E N C E S

Linux [Quick][Tutorial]
Fortran references[Quick] [Fortran vs C]
BLAS routines [Quick reference]
LAPACK routines[Users' guide] [More info]
Gnuplot[Tutorial]
IDRIS-MPI [Class Notes]
IDRIS-OpenMP [Class Notes]

C O N T E N T S


I- Introduction to Scientific Computing
  • 1- Modeling process- 1D case study examples:
    a- Electrostatics draft
    b- Thermal Conduction draft
    c- Quantum Transport draft
    d- Confinement draft
  • 2- Higher Dimensions- 2D example draft
  • 3- Computing Framework Summary draft
    a- numerical error; b- matrix computations
II- Basic numerical techniques of linear algebra and their applications
  • 1- Background draft
    a- vector; b-matrix; c-Subspace; d-non-singularity and inverses; e-types of square matrices;
  • 2- Norms draft
    a- vector norms; b- matrix norms; condition number;
  • 3- Solving Linear systems
    a- introduction; draft
    b- Gaussian elimination and LU factorization draft
    c- Failure of LU, d- Complement, e- Cholesky Factorization draft
  • 4- Computational Primitives and Practices
    a- BLAS, b- LAPACK, c- Programming practices draft
  • 5- Linear Least-Squares Problems
    a- introduction, b- solving the linear least-squares, c- QR factorization, d- Singular Value Decomposition, e- discussions draft
  • 6- Eigenvalue Problems
    a- introduction, b- Schur form and Jordan form, c- Eigendecomposition, d- computing the eigenvalue problem, e- QR algorithm, f- complements draft
III- Data formats and Practices draft
  • 1- Data Structures
    a- dense format, b-banded format, c- sparse format
  • 2- Sparse Matrix Computations: Practices
    a- Introduction, b- Solving linear systems in Computational Sciences, c- Sparse solvers
IV- Solving large sparse linear systems and eigenvalue problems
  • 1- Introduction to iterative methods for linear systems
    a- basics, b- Family of standard iterative methods, c- introduction to Preconditioning draft
  • 2- Projection Methods
    a- basics, b- steepest descent, c- conjugate gradient draft
  • 3- Krylov Subspace Methods a- Overview, b- Arnoldi algorithm, c- GMRES, d- the symmetric case, e- Preconditioning and Practices draft
  • 4- Large sparse eigenvalue problems
    a- Intro, b- Arnoldi and Lanczos algorithms, c- Rayleigh-Ritz and Subspace Iterations draft
V- Introduction to Parallel Programming draft
  • 1- Definitions
  • 2- MPI basics
  • 3- OpenMP basics
VI- Numerical parallel algorithms
  • 1- SPIKE algorithm and solver
  • 2- FEAST algorithm and solver