Example #1
0
int 
concheck (void)
/* Consistency check */
{ short *p,*q,ok;
  if (ainvb(wd1,wd2,wd3)== -1) return(-1);
  if (reduce(wd3)== -1) return(-1);
  ok= *wd3==0;
  if (ok)
  { p=wd3+mwdl; q=p+dim;
    while (++p<=q) if (*p!=0) {ok=0; break;}
  }
  if (ok==0)
  { fprintf(stderr,"Inconsistent relation.\n"); return(-1);}
  return(0);
}
Example #2
0
void GeneralSylvester::init()
{
	GeneralMatrix ainvb(b);
	double rcond1;
	double rcondinf;
	a.multInvLeft2(ainvb, d, rcond1, rcondinf);
	pars.rcondA1 = rcond1;
	pars.rcondAI = rcondinf;
	bdecomp = new SchurDecompZero(ainvb);
	cdecomp = new SimilarityDecomp(c.getData().base(), c.numRows(), *(pars.bs_norm));
	cdecomp->check(pars, c);
	cdecomp->infoToPars(pars);
	if (*(pars.method) == SylvParams::recurse)
		sylv = new TriangularSylvester(*bdecomp, *cdecomp);
	else
		sylv = new IterativeSylvester(*bdecomp, *cdecomp);
}