support for complex types in petsc

Signed-off-by: Thomas Hisch <t.hisch@gmail.com>