Subversion Repositories slepc-dev

Rev

Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 780 Rev 784
Line 112... Line 112...
    ierr = MatMult(A,e,z);CHKERRQ(ierr);
    ierr = MatMult(A,e,z);CHKERRQ(ierr);
    ierr = VecDot(e,z,&alpha2);CHKERRQ(ierr);
    ierr = VecDot(e,z,&alpha2);CHKERRQ(ierr);
    alpha2 = alpha2 / (beta1 * beta1);
    alpha2 = alpha2 / (beta1 * beta1);
 
 
    /* choose the eigenvalue of [alfa1 beta1; beta1 alfa2] closest to alpha1 */
    /* choose the eigenvalue of [alfa1 beta1; beta1 alfa2] closest to alpha1 */
    LAlaev2_(&alpha1,&beta1,&alpha2,&rt1,&rt2,&cs1,&sn1);
    LAPACKlaev2_(&alpha1,&beta1,&alpha2,&rt1,&rt2,&cs1,&sn1);
    if (PetscAbsScalar(rt1-alpha1) < PetscAbsScalar(rt2-alpha1)) {
    if (PetscAbsScalar(rt1-alpha1) < PetscAbsScalar(rt2-alpha1)) {
      *shift = rt1;
      *shift = rt1;
    } else {
    } else {
      *shift = rt2;
      *shift = rt2;
    }
    }