Research and Coursework
I'm afraid we need to use ... MATH. - Professor Farnsworth (Futurama)
- Final Project for Numerical Optimization (CSCI-GA.2945-002) taught by Margaret Wright.
- Title: Inverse Scattering and Bound-Constrained Nonlinear Optimization
- Abstract: We describe an investigation into the inverse scattering problem for the Helmholtz equation in 1-d. For a fixed frequency, we attempt to find the optimal scatterer for minimizing the total
transmission response given an incidental wave on the left with coefficient 1. We pose this
problem as a bound-constrained optimization problem whose objective function is the norm
squared of the coefficient of the transmitted wave. We briefly describe our implementation of a
bound-constrained Quasi-Newton method for solving this problem in Section 3. Evaluating the
objective function and its gradient requires solving the 1-d Helmholtz equation. We describe an
efficient method for doing so in Section 4. The results of some numerical experiments are given
in Section 5. The optimal scatterers found resemble Bragg gratings from optical fibre design.
- Project Code
- Final Project for High Performance Computing (MATH-GA.2011.001) taught by Andreas Kloeckner and Marsha Berger.
- Title: An Investigation into Parallel SVD
- Abstract: We discuss an investigation into parallelizing the computation of a singular value decomposition (SVD). We break the process into three steps: bidiagonalization, computation of the
singular values, and computation of the singular vectors. We discuss the algorithms, parallelism,
implementation, and performance of each of these three steps. The original goal was to accom-
plish all three tasks using a graphics processing unit (GPU) but the final implementation uses a
combination of GPU computing and multicore central processing unit (CPU) computing. The
two parallelization standards used were OpenCL and OpenMP. Our SVD implementation and
its components are available freely online.
- Note: This was a group project with Michael "Boston Mike" Lewis and Steven Delong. My primary contribution to the project was writing the GPU based bidiagonalization code.
- Project Code