Subversion Repositories slepc-dev

Rev

Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2837 Rev 2838
Line 49... Line 49...
  PetscFunctionReturn(0);
  PetscFunctionReturn(0);
}
}
/* normalization with a indefinite norm */
/* normalization with a indefinite norm */
#undef __FUNCT__
#undef __FUNCT__
#define __FUNCT__ "PSNormIndef_private"
#define __FUNCT__ "PSNormIndef_private"
static PetscErrorCode PSNormIndef_private(PetscScalar *B,PetscScalar *X, PetscScalar *norm,PetscInt n)
static PetscErrorCode PSNormIndef_private(PetscReal *s,PetscScalar *X, PetscScalar *norm,PetscInt n)
{
{
  PetscInt      i;
  PetscInt      i;
  PetscReal     norm_;
  PetscReal     norm_;
  /* s-normalization */
  /* s-normalization */
  norm_ = 0.0;
  norm_ = 0.0;
  for(i=0;i<n;i++){norm_ += X[i]*B[i]*X[i];}
  for(i=0;i<n;i++){norm_ += X[i]*s[i]*X[i];}
  if(norm_<0){norm_ = -PetscSqrtReal(-norm_);}
  if(norm_<0){norm_ = -PetscSqrtReal(-norm_);}
  else {norm_ = PetscSqrtReal(norm_);}
  else {norm_ = PetscSqrtReal(norm_);}
  for(i=0;i<n;i++)X[i] /= norm_;
  for(i=0;i<n;i++)X[i] /= norm_;
  if(norm) *norm = norm_;
  if(norm) *norm = norm_;
  PetscFunctionReturn(0);
  PetscFunctionReturn(0);