Algorithm-LBFGS

 view release on metacpan or  search on metacpan

lbfgs.c  view on Meta::CPAN

			vecdot(&it->alpha, it->s, d, n);
			it->alpha /= it->ys;
			/* q_{i} = q_{i+1} - \alpha_{i} y_{i}. */
			vecadd(d, it->y, -it->alpha, n);
		}

		vecscale(d, ys / yy, n);

		for (i = 0;i < bound;++i) {
			it = &lm[j];
			/* \beta_{j} = \rho_{j} y^t_{j} \cdot \gamma_{i}. */
			vecdot(&beta, it->y, d, n);
			beta /= it->ys;
			/* \gamma_{i+1} = \gamma_{i} + (\alpha_{j} - \beta_{j}) s_{j}. */
			vecadd(d, it->s, it->alpha - beta, n);
			j = (j + 1) % m;		/* if (++j == m) j = 0; */
		}

		/*
			Constrain the search direction for orthant-wise updates.
		 */
		if (param->orthantwise_c != 0.) {
			for (i = 0;i < n;++i) {
				if (d[i] * w[i] <= 0) {

 view all matches for this distribution
 view release on metacpan -  search on metacpan

( run in 1.426 second using v1.00-cache-2.02-grep-82fe00e-cpan-d29e8ade9f55 )