Advanced Scientific Computation I (CS6210)

This course involves the survey of scientific computation relevant to Computational Science and Engineering students. Topics covered include: floating point arithmetic systems of linear equations (solutions by direct and iterative techniques), linear least squares, nonlinear equations (univariate and multivariate), interpolation and differentiation (divided differences), integration (interpolatory, Newton-Cotes and Gaussian quadratures, optimal quadratures).

Assignment No1:

This assignment made me to explore more on floating point arithmetic, and stable and well-behaved algorithms. I implemented HS(high school), MA(modified) algorithms in single precision and compared the results with those obtained by implementing MA using double precision. I also implemented Horner’s algorithm and compared the results with those obtained by implementing other general method. I was also given some series and I was required to compute the summation using different n(number of terms) values and was required to comment on condition numbers and relative errors.

Assignment No2:

This assignment made me to work on system of linear equations. I was given number of series and I was required to find the partial sums of the series using three methods. The methods asked were ordinary in-order addition of the terms, Gill-Moller, and repetitive Gill-Moller. I computed the partial sums using the three methods and I then compared the computed results. For the second part of the assignment, I was asked to implement Cholesky and Householder algorithm to solve Ax=b. I also computed residual vectors in double precision and performed iterative refinement to improve the results. I also used Hilbert matrix and used Cholesky and Householder algorithm and documented the results, explaining about its condition number.

Assignment No3:

The aim of this assignment was to implement in double precision the Gauss-Seidel, SOR, Chebyshev and CG methods for coding the two dimensional Poisson's Problem with known solution to uxx(x, y)+uyy(x, y) = f(x, y) on the unit square [0, 1]2 equal to u(x, y) = 128 * x(1 - x)y(1 - y). First, I determined function f(x, y) that corresponds to the above solution. Next, I tested my code for n = 10, 100, 1000. Then I compared computed solution u' to the exact solution u. I terminated when u and u' satisfy the condition ||u'- u||inf < =epsilon for small epsilon > 0 chosen appropriately. For SOR, I set omega = 2/( 1 + sin( PI/(n+1))).

Assignment No4:

The aim of this assignment was to solve linear Least Squares problem i.e to obtain exact solution x = x* = [x1*, x2*, x3*, x4*]T to the following LLS problem || Ax-b ||2 -> min.........................(1). as a function of epsilon. First, I computed the function f(x) = f(x1, x2, x3, x4) such that x which minimizes f(x) is solution x* to (1). Then I argued that the components of x* are equal. Using using computed function f(x)and calculus, I obtained x*. Next I numerically solved this LLS by solving the Normal Equations for (1) via (a) Cholesky’s algorithm and (b) Householder’s QR. For each method experiment with the value of epsilon to see how small I can take it and still obtain an accurate solution.

Assignment No5:

The aim of this assignment was to deal with Fixed Points and system of Nonlinear equations.

First part

For the equation f(x) = x2 − 3x + 2 = 0 each of the following functions yield an equivalent fixed point problem: (i) g1(x) = (x2 + 2)/3 (ii) g2(x) = p3x − 2 (iii) g3(x) = 3 − 2/x (iv) g4(x) = (x2 − 2)/(2x − 3). First, I analyzed the convergence properties of the simple iteration xi+1 = gj(xi) schemes (j = 1, 2, 3, 4) for the root x = 2 by considering |g′ j(2)|. Then I Confirmed the analysis by implementing each scheme and verifying its convergence (or lack thereof) and appropriate convergence rate.

Second Part
I wrote a program to solve the following system of nonlinear equations
16x4 + 16y4 + z4 =16
x2 + y2 + z2 =3
x3 − y =0
using Newton’s Method. I solved the resulting linear system at each iteration using Householder Method code. I set xo = [1, 1, 1] as the starting guess. I choose a reasonable stopping criterion and justified my choice.
.

Back | Top