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.

  • $\begingroup$ 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. $\endgroup$ Apr 13, 2017 at 4:50
  • $\begingroup$ 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. $\endgroup$
    – Chronum
    Apr 13, 2017 at 5:07
  • 2
    $\begingroup$ 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 $\endgroup$ Apr 13, 2017 at 5:32
  • 1
    $\begingroup$ You could try with the Boundary Element Method that leads to non-symmetric, non-diagonal dominant matrices. You could try with the Poisson equation. $\endgroup$
    – nicoguaro
    Apr 13, 2017 at 17:11

1 Answer 1


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).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.