# CMSC 660 Scientific Computing I

posted in: Fall2014, Graduate | 0

Prof. Ramani Duraiswami provides a fundamental class towards numeric / scientific computing using Matlab. Overall, this class is a very good introductory class towards Matlab and optimization. The class might be less challenging if you already master all the techniques.

# Project

My final project paper (as a case study chapter of the book).

PedParse_CaseStudy_Ruofei

# Homework

Link to my homework solution is here with password-protected.

Please comment with reasonable reason or drop me a line if you need the access.

## Insights from Homework

• Direct matrix vector product through Matlab call uses native C code and row-oriented vector. The for loop inside the C code is optimized for better performace.
• According to IEEE-754 (double precision), the machine epsilon is $2^{-52}$, so the numbers in the range $1+2^{-53} \leq x < 1 + (2^{-52} + 2^{-53})$ might be rounded to $1+2^{-52}$. The exponent $e$ satisfies $-1022 \leq e \leq 1023$. The realmin in Matlab is $2^{-1022}$. However, it is possible to have values lower than realmin. The smallest positive subnormal number is $2^{-52} \times 2^{-1022} = 2^{-1074}$
• Matrix decomposition via Gaussian Elimination. $LU = PA$ is $O(n^3)$. P is a Permutation Matrix, which rearranges a system of equations and changes the order; L is a lower triangular matrix and U is a upper triangular matrix
• Condition Number of a Matrix is a measure of how close a matrix is to singular. cond(singular matrix) = $\infty$.
• Gram Schmidt performs a QR decomposition. Key idea in Gram-Schmidt is to subtract from every new vector.
• Orthogonal matrices are square matrices that have their columns orthonormal to each other.
• Solve $Ax = b$, let $L[Ux] = Pb$
• Modified Gram Schmidt algorithm for computing QR decomposition.
• Determinant of a square matrix can be computed using the LU decomposition
• The inverse of a matrix A can be defined as the matrix X whose columns $x_j$ solve the equations $Ax_j = e_j$
• Householder Reflection
• Fitting the data
• Line fitting Problem
• RRQR algorithm.
• Matrix Approximation
• Ordinary Differential Equations
• The initial value problem for an ordinary differential equation involves finding a function y(t) that satisfies $\frac{dy(t)}{dt} = f(t, y(t))$ together with the initial condition $y(t_0) = y_0$
• Euler’s method could solve it by a fixed step size $h$
• BS23 (Bogacki and Shampine) algorithm is a simplified version of Matlab’s ode23
• Lorenz chaotic attractor was first described in 1963 by Edward Lorenz
• A problem is stiff if the solution being sought varies slowly, but there are nearby solutions that vary rapidly, so the numerical method must take small steps to obtain satisfactory results.

• Optimization

# References

1. O’Leary, dianne P. Scientific computing with case studies. SIAM, 2009.
2. Cleve Moler. Floating Points. IEEE standard model. https://www.mathworks.com/content/dam/mathworks/tag-team/Objects/f/77489_Fall96Cleve.pdf
3. Andrew Davis. ISEQUALFP: Check equality within floating point precision, 2012. http://www.mathworks.com/matlabcentral/fileexchange/36734-isequalfp–check-equality-within-floating-point-precision
4.