ECE 697NA / MATH 697NA - Numerical Algorithms (Spring 2017)

Professor Eric Polizzi


    Class Hours: Tue-Thu 2:30pm-3:45pm LGRT 177

    Office Hours: Tue 1:30-2:20pm and Thu-4:5pm in Marcus 201C
Syllabus
Introduction


Schedule

schedule


H O M E W O R K


Homework Instructions
HW1 [PDF] [hw1.f90] solution [hw1_2d.f90] Solution
HW2 [PDF] [tex (optional)] [F90]
HW3 [PDF] [F90]

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

Code Examples - Fortran [zip]
Linux [Quick][Tutorial]
Fortran references[Quick] [Fortran vs C]
BLAS routines [Quick reference]
LAPACK routines[Users' guide] [More info]
Gnuplot[Tutorial]
Templates Algo. [Templates]
IDRIS-MPI [Class Notes]
IDRIS-OpenMP [Class Notes]
List of free linear algebra package [Link]
Code Examples - MPI [zip] and OpenMP [zip]

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 (complement)-
    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-
III- Data formats and Practices
IV- Solving large sparse linear systems and eigenvalue problems
V- Introduction to Parallel Programming
VI- Numerical parallel algorithms