Why have all this stuff? http://petsc.cs.iit.edu/petsc/petsc-dev/rev/49c718f99df2 Why not build into the PETSc C code and structures any (small) additional stuff needed to do all this? Why create another entirely new duplicate structure in python to do it? Barry