I am not sure that VecGetSubVec and MatGetSubMat are needed. These should only be used for the active-set methods (I hope) and there should be native PETSc equivalents used by the PETSc active-set variational inequality solvers, for example.
Todd. On Feb 18, 2014, at 9:22 AM, Jed Brown <[email protected]> wrote: > Lisandro Dalcin <[email protected]> writes: > >> Barry, I've pushed a quick fix (missing PETSC_EXTERN in TaoMonitor()) >> in your branch. >> >> The following prototypes in petsctao.h are also missing PETSC_EXTERN, >> and I think they should be more properly namespaced. >> >> PetscErrorCode VecGetSubVec(Vec, IS, PetscInt, PetscReal, Vec*); >> PetscErrorCode MatGetSubMat(Mat, IS, Vec, TaoSubsetType, Mat*); >> >> Perhaps you should move these prototypes (as well as TaoSubsetType) to >> taoimpl.h ? I'm not sure these routines should be part of the public >> interface. > > I would rather not, but if nothing else changes, the PetscInt argument > should be TaoSubsetType. I'm afraid I don't understand exactly what > role this function is serving, but the only TAO reference is the enum, > so it can probably be made generic and moved down to the Vec module.
