47 template<
unsigned int Precision>
52 template<
unsigned int Precision>
59 template<
unsigned int Precision>
64 template<
unsigned int Precision>
69 template<
unsigned int Precision>
76 template<
unsigned int Precision>
122 template<
unsigned int Precision>
143 tau.setbounds(0, minmn-1);
149 for(
i=0;
i<=
k-1;
i++)
156 reflections::generatereflection<Precision>(t,
m-
i, tmp);
166 reflections::applyreflectionfromtheleft<Precision>(a,
tau(
i), t,
i,
m-1,
i+1, n-1, work);
192 template<
unsigned int Precision>
209 if(
m<=0 || n<=0 || qcolumns<=0 )
219 q.setbounds(0,
m-1, 0, qcolumns-1);
222 for(
i=0;
i<=
m-1;
i++)
224 for(
j=0;
j<=qcolumns-1;
j++)
240 for(
i=
k-1;
i>=0;
i--)
248 reflections::applyreflectionfromtheleft<Precision>(q,
tau(
i),
v,
i,
m-1, 0, qcolumns-1, work);
268 template<
unsigned int Precision>
283 r.setbounds(0,
m-1, 0, n-1);
284 for(
i=0;
i<=n-1;
i++)
288 for(
i=1;
i<=
m-1;
i++)
290 ap::vmove(r.getrow(
i, 0, n-1), r.getrow(0, 0, n-1));
292 for(
i=0;
i<=
k-1;
i++)
302 template<
unsigned int Precision>
320 tau.setbounds(1, minmn);
334 reflections::generatereflection<Precision>(t, mmip1, tmp);
344 reflections::applyreflectionfromtheleft<Precision>(a,
tau(
i), t,
i,
m,
i+1, n, work);
353 template<
unsigned int Precision>
371 if(
m==0 || n==0 || qcolumns==0 )
381 q.setbounds(1,
m, 1, qcolumns);
386 for(
j=1;
j<=qcolumns;
j++)
411 reflections::applyreflectionfromtheleft<Precision>(q,
tau(
i),
v,
i,
m, 1, qcolumns, work);
419 template<
unsigned int Precision>
440 q.setbounds(1,
m, 1,
m);
441 r.setbounds(1,
m, 1, n);
446 qrdecomposition<Precision>(a,
m, n,
tau);
457 ap::vmove(r.getrow(
i, 1, n), r.getrow(1, 1, n));
467 unpackqfromqr<Precision>(a,
m, n,
tau,
m, q);
void tau(int **points, int sizePoints, int k)
static void make_assertion(bool bClause)
raw_vector< T > getvector(int iStart, int iEnd)
void setbounds(int iLow, int iHigh)
const Variable & v
< [in] a sqrfree bivariate poly
void vmove(raw_vector< T > vdst, const_raw_vector< T > vsrc)
int minint(int m1, int m2)
void rmatrixqr(ap::template_2d_array< amp::ampf< Precision > > &a, int m, int n, ap::template_1d_array< amp::ampf< Precision > > &tau)
void rmatrixqrunpackq(const ap::template_2d_array< amp::ampf< Precision > > &a, int m, int n, const ap::template_1d_array< amp::ampf< Precision > > &tau, int qcolumns, ap::template_2d_array< amp::ampf< Precision > > &q)
void qrdecomposition(ap::template_2d_array< amp::ampf< Precision > > &a, int m, int n, ap::template_1d_array< amp::ampf< Precision > > &tau)
void unpackqfromqr(const ap::template_2d_array< amp::ampf< Precision > > &a, int m, int n, const ap::template_1d_array< amp::ampf< Precision > > &tau, int qcolumns, ap::template_2d_array< amp::ampf< Precision > > &q)
void rmatrixqrunpackr(const ap::template_2d_array< amp::ampf< Precision > > &a, int m, int n, ap::template_2d_array< amp::ampf< Precision > > &r)
void qrdecompositionunpacked(ap::template_2d_array< amp::ampf< Precision > > a, int m, int n, ap::template_2d_array< amp::ampf< Precision > > &q, ap::template_2d_array< amp::ampf< Precision > > &r)