purpose is having the same interface with Lis and PETSC.