# Example Problem to Demonstrate BiCGStab

So our team has been able to code up a BiCGStab implementation for a class project, and we'd like a potential example problem to try it out on.

So far, we've talked about a 1D Laplacian with Neumann boundaries (so the matrix becomes nonsymmetric), but I am strongly inclined to demonstrate at least a very slightly more exotic problem that can be shown using the BiCGStab.

Given the time and skill constraints, a steady-state problem description would be idea, since no one in the team has a decent idea about time propagation, and our implementation of the BiCGStab is fairly naive (slow).

Any suggestions for a demo problem for our solver would be greatly appreciated.

• Do you need it to be a physics problem? BiCGStab is a general-purpose linear system iterative solver, so solving a random linear system would do the job for you. Trying to get a more "exotic" problem is not really an exercise of your BiCGStab implementation unless you come up with some horribly ill-conditioned system. – Tyler Olsen Apr 13 '17 at 4:50
• A sparse random matrix is what I've showed the Professor so far, and he seems content with the implementation. He does insist on an application. Being a physics problem is not a requirement, but it would make it easier, since the members of our team are a bit optimization/physics oriented. – Chronum Apr 13 '17 at 5:07
• Try the advection-diffusion equation with dirichlet boundary conditions. Careful with your discretization, but this is a fairly canonical non-symmetric PDE. en.wikipedia.org/wiki/Convection%E2%80%93diffusion_equation – Tyler Olsen Apr 13 '17 at 5:32
• You could try with the Boundary Element Method that leads to non-symmetric, non-diagonal dominant matrices. You could try with the Poisson equation. – nicoguaro Apr 13 '17 at 17:11

## 1 Answer

Check out Matrix Market. It has a nice collection of matrices from different areas (fluid dynamics, elasticity, acoustics etc.) So you do not need to assemble systems yourself in order to provide decent test cases.

Matrices are provided in ASCII–format (Matrix Market and Harwell–Boeing). I do not know what language your team uses, but you can easily find I/O routines for C/C++, Matlab, Python, and FORTRAN on the website. Mathematica has these routines built in (MTX, HB).