        subroutine STCayleySetAntishift(st, nu ,ierr)
       ST st ! ST
       PetscScalar nu ! PetscScalar
       integer ierr
       end subroutine
        subroutine STCayleyGetAntishift(st, nu ,ierr)
       ST st ! ST
       PetscScalar nu ! PetscScalar
       integer ierr
       end subroutine
        subroutine STPrecondGetMatForPC(st, mat ,ierr)
       ST st ! ST
       Mat mat ! Mat
       integer ierr
       end subroutine
        subroutine STPrecondSetMatForPC(st, mat ,ierr)
       ST st ! ST
       Mat mat ! Mat
       integer ierr
       end subroutine
        subroutine STPrecondSetKSPHasMat(st, setmat ,ierr)
       ST st ! ST
       PetscBool setmat ! PetscBool
       integer ierr
       end subroutine
        subroutine STPrecondGetKSPHasMat(st, setmat ,ierr)
       ST st ! ST
       PetscBool setmat ! PetscBool
       integer ierr
       end subroutine
        subroutine STShellSetContext(st, ctx ,ierr)
       ST st ! ST
       PetscVoid ctx ! void
       integer ierr
       end subroutine
        subroutine STReset(st ,ierr)
       ST st ! ST
       integer ierr
       end subroutine
        subroutine STSetOperators(st, n, A ,ierr)
       ST st ! ST
       PetscInt n ! PetscInt
       Mat A (*) ! Mat
       integer ierr
       end subroutine
        subroutine STGetOperators(st, k, A ,ierr)
       ST st ! ST
       PetscInt k ! PetscInt
       Mat A ! Mat
       integer ierr
       end subroutine
        subroutine STGetNumMatrices(st, n ,ierr)
       ST st ! ST
       PetscInt n ! PetscInt
       integer ierr
       end subroutine
        subroutine STSetShift(st, shift ,ierr)
       ST st ! ST
       PetscScalar shift ! PetscScalar
       integer ierr
       end subroutine
        subroutine STGetShift(st, shift ,ierr)
       ST st ! ST
       PetscScalar shift ! PetscScalar
       integer ierr
       end subroutine
        subroutine STSetDefaultShift(st, defaultshift ,ierr)
       ST st ! ST
       PetscScalar defaultshift ! PetscScalar
       integer ierr
       end subroutine
        subroutine STSetBalanceMatrix(st, D ,ierr)
       ST st ! ST
       Vec D ! Vec
       integer ierr
       end subroutine
        subroutine STGetBalanceMatrix(st, D ,ierr)
       ST st ! ST
       Vec D ! Vec
       integer ierr
       end subroutine
        subroutine STSetFromOptions(st ,ierr)
       ST st ! ST
       integer ierr
       end subroutine
        subroutine STSetMatStructure(st, str ,ierr)
       ST st ! ST
       MatStructure str ! MatStructure
       integer ierr
       end subroutine
        subroutine STGetMatStructure(st, str ,ierr)
       ST st ! ST
       MatStructure str ! MatStructure
       integer ierr
       end subroutine
        subroutine STSetMatMode(st, mode ,ierr)
       ST st ! ST
       STMatMode mode ! STMatMode
       integer ierr
       end subroutine
        subroutine STMatMult(st, k, x, y ,ierr)
       ST st ! ST
       PetscInt k ! PetscInt
       Vec x ! Vec
       Vec y ! Vec
       integer ierr
       end subroutine
        subroutine STMatMultTranspose(st, k, x, y ,ierr)
       ST st ! ST
       PetscInt k ! PetscInt
       Vec x ! Vec
       Vec y ! Vec
       integer ierr
       end subroutine
        subroutine STMatSolve(st, k, b, x ,ierr)
       ST st ! ST
       PetscInt k ! PetscInt
       Vec b ! Vec
       Vec x ! Vec
       integer ierr
       end subroutine
        subroutine STMatSolveTranspose(st, k, b, x ,ierr)
       ST st ! ST
       PetscInt k ! PetscInt
       Vec b ! Vec
       Vec x ! Vec
       integer ierr
       end subroutine
        subroutine STSetKSP(st, ksp ,ierr)
       ST st ! ST
       KSP ksp ! KSP
       integer ierr
       end subroutine
        subroutine STGetKSP(st, ksp ,ierr)
       ST st ! ST
       KSP ksp ! KSP
       integer ierr
       end subroutine
        subroutine STGetOperationCounters(st, ops, lits ,ierr)
       ST st ! ST
       PetscInt ops ! PetscInt
       PetscInt lits ! PetscInt
       integer ierr
       end subroutine
        subroutine STResetOperationCounters(st ,ierr)
       ST st ! ST
       integer ierr
       end subroutine
        subroutine STCheckNullSpace(st, n, V ,ierr)
       ST st ! ST
       PetscInt n ! PetscInt
       Vec V (*) ! Vec
       integer ierr
       end subroutine
        subroutine STApply(st, x, y ,ierr)
       ST st ! ST
       Vec x ! Vec
       Vec y ! Vec
       integer ierr
       end subroutine
        subroutine STGetBilinearForm(st, B ,ierr)
       ST st ! ST
       Mat B ! Mat
       integer ierr
       end subroutine
        subroutine STApplyTranspose(st, x, y ,ierr)
       ST st ! ST
       Vec x ! Vec
       Vec y ! Vec
       integer ierr
       end subroutine
        subroutine STComputeExplicitOperator(st, mat ,ierr)
       ST st ! ST
       Mat mat ! Mat
       integer ierr
       end subroutine
        subroutine STSetUp(st ,ierr)
       ST st ! ST
       integer ierr
       end subroutine
        subroutine STPostSolve(st ,ierr)
       ST st ! ST
       integer ierr
       end subroutine
        subroutine STBackTransform(st, n, eigr, eigi ,ierr)
       ST st ! ST
       PetscInt n ! PetscInt
       PetscScalar eigr ! PetscScalar
       PetscScalar eigi ! PetscScalar
       integer ierr
       end subroutine
