[petsc-users] Optional arguments of MatZeroRows

Cedric Doucet cedric.doucet at inria.fr
Wed Aug 13 03:22:10 CDT 2014


Hi Karl,

thank you very much for your answer!

Ok, I understand!
So, I will pass NULL instead of 0. :-)

Best,

Cédric



----- Mail original -----
> De: "Karl Rupp" <rupp at iue.tuwien.ac.at>
> À: "Cedric Doucet" <cedric.doucet at inria.fr>, petsc-users at mcs.anl.gov
> Envoyé: Mercredi 13 Août 2014 10:20:55
> Objet: Re: [petsc-users] Optional arguments of MatZeroRows
> 
> Hi Cedric,
> 
>  > I want to use MatZeroRows function
> > (http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatZeroRows.html).
> >
> > It is said in the documentation that the last two arguments are
> > optional, i.e. x and b vectors:
> > /PetscErrorCode MatZeroRows(Mat mat,PetscInt numRows,const PetscInt
> > rows[],PetscScalar diag,*Vec x*,*Vec*/*b*)
> > However, a call to
> > /MatZeroRows(mat,numRows,rows,diag)/
> > does not seem to work because the last two input arguments are required.
> >
> > In examples, e.g. src/ksp/ksp/examples/tutorials/ex3.c.html
> > <http://www.mcs.anl.gov/petsc/petsc-current/src/ksp/ksp/examples/tutorials/ex3.c.html>,
> > it seems that optional arguments are passed by putting some zero values
> > instead of vectors:
> > /MatZeroRows(mat,numRows,rows,diag,*0*,*0*)/
> >
> > Is this the right way to use MatZeroRows function when one does not want
> > to pass x and b vectors as input arguments?
> 
> Yes, in PETSc language an optional argument is an argument for which one
> can pass NULL (or equivalent). This is because C does not support
> function overloading, so you always have to pass the full number of
> arguments.
> 
> Best regards,
> Karli
> 
> 


More information about the petsc-users mailing list