示例#1
0
文件: private.c 项目: zhangrj7/scs
/* M = inv ( diag ( RHO_X * I + A'A ) ) */
void getPreconditioner(const AMatrix * A, const Settings * stgs, Priv * p) {
	scs_int i;
	scs_float * M = p->M;

#if EXTRAVERBOSE > 0
	scs_printf("getting pre-conditioner\n");
#endif

	for (i = 0; i < A->n; ++i) {
		M[i] = 1 / (stgs->rho_x + calcNormSq(&(A->x[A->p[i]]), A->p[i + 1] - A->p[i]));
		/* M[i] = 1; */
	}

#if EXTRAVERBOSE > 0
	scs_printf("finished getting pre-conditioner\n");
#endif

}
示例#2
0
文件: linAlg.c 项目: baxelrod/scs
/* ||v||_2 */
scs_float calcNorm(const scs_float * v, scs_int len) {
	return SQRTF(calcNormSq(v, len));
}