Lines Matching refs:tau_k

439   PetscReal gamma = 1.0, tau_k, beta;
503 PetscCall(TaoBNCGComputeScalarScaling(ynorm2, step * dk_yk, cg->sts, &tau_k, cg->alpha));
505 tau_k = 1.0;
508 PetscCall(VecAXPBY(tao->stepdirection, -tau_k, 0.0, tao->gradient));
520 PetscCall(TaoBNCGComputeScalarScaling(ynorm2, step * dk_yk, cg->sts, &tau_k, cg->alpha));
521 beta = tau_k * gkp1_yk / dk_yk;
522 PetscCall(VecAXPBY(tao->stepdirection, -tau_k, beta, tao->gradient));
538 PetscCall(TaoBNCGComputeScalarScaling(ynorm2, step * dk_yk, step * step * dnorm * dnorm, &tau_k, cg->alpha));
539 beta = tau_k * gnorm2 / gnorm2_old;
540 PetscCall(VecAXPBY(tao->stepdirection, -tau_k, beta, tao->gradient));
555 PetscCall(TaoBNCGComputeScalarScaling(ynorm2, step * dk_yk, snorm * snorm, &tau_k, cg->alpha));
556 beta = tau_k * gkp1_yk / gnorm2_old;
557 PetscCall(VecAXPBY(tao->stepdirection, -tau_k, beta, tao->gradient));
574 PetscCall(TaoBNCGComputeScalarScaling(ynorm2, step * dk_yk, snorm * snorm, &tau_k, cg->alpha));
575 beta = tau_k * gkp1_yk / gnorm2_old;
577 PetscCall(VecAXPBY(tao->stepdirection, -tau_k, beta, tao->gradient));
594 PetscCall(TaoBNCGComputeScalarScaling(ynorm2, step * dk_yk, cg->yts, &tau_k, cg->alpha));
595 beta = tau_k * gnorm2 / (gd - gd_old);
596 PetscCall(VecAXPBY(tao->stepdirection, -tau_k, beta, tao->gradient));
624 PetscCall(TaoBNCGComputeScalarScaling(ynorm2, cg->yts, snorm * snorm, &tau_k, cg->alpha));
625 /* Supplying cg->alpha = -1.0 will give the CG_DESCENT 5.3 special case of tau_k = 1.0 */
627 beta = tau_k * (gkp1_yk / dk_yk - ynorm2 * gd / (dk_yk * dk_yk));
629 beta = PetscMax(PetscMax(beta, cg->hz_eta * tau_k * gd_old / (dnorm * dnorm)), cg->dk_eta * tau_k * gd / (dnorm * dnorm));
631 PetscCall(VecAXPBY(tao->stepdirection, -tau_k, beta, tao->gradient));
644 PetscCall(VecDot(cg->yk, cg->y_work, &tau_k));
645 tau_k = -tau_k * gd / (dk_yk * dk_yk);
647 beta = gkp1_yk / dk_yk + cg->hz_theta * tau_k; /* HZ; (1.15) from DK 2013 */
668 PetscCall(TaoBNCGComputeScalarScaling(ynorm2, cg->yts, snorm * snorm, &tau_k, cg->alpha));
669 /* Use cg->alpha = -1.0 to get tau_k = 1.0 as in CG_DESCENT 5.3 */
671 beta = tau_k * (gkp1_yk / dk_yk - ynorm2 * gd / (dk_yk * dk_yk) + gd / (dnorm * dnorm)) - step * gd / dk_yk;
672 beta = PetscMax(PetscMax(beta, cg->hz_eta * tau_k * gd_old / (dnorm * dnorm)), cg->dk_eta * tau_k * gd / (dnorm * dnorm));
674 PetscCall(VecAXPBYPCZ(tao->stepdirection, -tau_k, 0.0, beta, tao->gradient, cg->yk));
684 PetscCall(VecDot(cg->yk, cg->y_work, &tau_k));
685 tau_k = tau_k * gd / (dk_yk * dk_yk);
688 beta = gkp1_yk / dk_yk - step * tmp - tau_k;
714 PetscCall(TaoBNCGComputeScalarScaling(ynorm2, cg->yts, snorm * snorm, &tau_k, cg->alpha));
715 beta = tau_k * (gkp1_yk / dk_yk - ynorm2 * gd / (dk_yk * dk_yk)) - step * gd / dk_yk;
716 if (beta < cg->zeta * tau_k * gd / (dnorm * dnorm)) /* 0.1 is KD's zeta parameter */
718 beta = cg->zeta * tau_k * gd / (dnorm * dnorm);
722 /* This seems to be very effective when there's no tau_k scaling.
727 PetscCall(VecAXPBYPCZ(tao->stepdirection, -tau_k, gamma * tau_k, beta, tao->gradient, cg->yk));
738 /* tau_k = -ytDy/(ytd)^2 * gd */
739 PetscCall(VecDot(cg->yk, cg->y_work, &tau_k));
740 tau_k = tau_k * gd / (dk_yk * dk_yk);
742 beta = gkp1D_yk / dk_yk - step * gamma - tau_k;
777 PetscCall(TaoBNCGComputeScalarScaling(cg->yty, cg->yts, cg->sts, &tau_k, cg->alpha));
779 beta = tau_k * (gkp1_yk / dk_yk - cg->yty * gd / (dk_yk * dk_yk)) - step * tmp;
781 PetscCall(VecAXPBYPCZ(tao->stepdirection, -tau_k, tmp * tau_k, beta, tao->gradient, cg->yk));
806 PetscCall(TaoBNCGComputeScalarScaling(cg->yty, cg->yts, cg->sts, &tau_k, cg->alpha));
808 tau_k = cg->dfp_scale * tau_k;
809 tmp = tau_k * gkp1_yk / cg->yty;
812 PetscCall(VecAXPBYPCZ(tao->stepdirection, -tau_k, tmp, beta, tao->gradient, cg->yk));
840 tau_k = cg->theta * tau_bfgs + (1.0 - cg->theta) * tau_dfp;
846 PetscCall(VecAXPBYPCZ(tao->stepdirection, -tau_k, tmp, beta, tao->gradient, cg->yk));