41 template<
unsigned int Precision>
46 template<
unsigned int Precision>
53 template<
unsigned int Precision>
58 template<
unsigned int Precision>
63 template<
unsigned int Precision>
70 template<
unsigned int Precision>
112 template<
unsigned int Precision>
131 tau.setbounds(0, minmn-1);
133 for(
i=0;
i<=
k-1;
i++)
140 reflections::generatereflection<Precision>(t, n-
i, tmp);
150 reflections::applyreflectionfromtheright<Precision>(a,
tau(
i), t,
i+1,
m-1,
i, n-1, work);
176 template<
unsigned int Precision>
193 if(
m<=0 || n<=0 || qrows<=0 )
203 q.setbounds(0, qrows-1, 0, n-1);
206 for(
i=0;
i<=qrows-1;
i++)
208 for(
j=0;
j<=n-1;
j++)
224 for(
i=
k-1;
i>=0;
i--)
232 reflections::applyreflectionfromtheright<Precision>(q,
tau(
i),
v, 0, qrows-1,
i, n-1, work);
252 template<
unsigned int Precision>
266 l.setbounds(0,
m-1, 0, n-1);
267 for(
i=0;
i<=n-1;
i++)
271 for(
i=1;
i<=
m-1;
i++)
275 for(
i=0;
i<=
m-1;
i++)
287 template<
unsigned int Precision>
307 tau.setbounds(1, minmn);
321 reflections::generatereflection<Precision>(t, nmip1, tmp);
331 reflections::applyreflectionfromtheright<Precision>(a,
tau(
i), t,
i+1,
m,
i, n, work);
341 template<
unsigned int Precision>
359 if(
m==0 || n==0 || qrows==0 )
369 q.setbounds(1, qrows, 1, n);
372 for(
i=1;
i<=qrows;
i++)
399 reflections::applyreflectionfromtheright<Precision>(q,
tau(
i),
v, 1, qrows,
i, n, work);
407 template<
unsigned int Precision>
423 q.setbounds(1, n, 1, n);
424 l.setbounds(1,
m, 1, n);
429 lqdecomposition<Precision>(a,
m, n,
tau);
452 unpackqfromlq<Precision>(a,
m, n,
tau, n, 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
int maxint(int m1, int m2)
void vmove(raw_vector< T > vdst, const_raw_vector< T > vsrc)
int minint(int m1, int m2)
void rmatrixlq(ap::template_2d_array< amp::ampf< Precision > > &a, int m, int n, ap::template_1d_array< amp::ampf< Precision > > &tau)
void rmatrixlqunpackl(const ap::template_2d_array< amp::ampf< Precision > > &a, int m, int n, ap::template_2d_array< amp::ampf< Precision > > &l)
void lqdecomposition(ap::template_2d_array< amp::ampf< Precision > > &a, int m, int n, ap::template_1d_array< amp::ampf< Precision > > &tau)
void rmatrixlqunpackq(const ap::template_2d_array< amp::ampf< Precision > > &a, int m, int n, const ap::template_1d_array< amp::ampf< Precision > > &tau, int qrows, ap::template_2d_array< amp::ampf< Precision > > &q)
void unpackqfromlq(const ap::template_2d_array< amp::ampf< Precision > > &a, int m, int n, const ap::template_1d_array< amp::ampf< Precision > > &tau, int qrows, ap::template_2d_array< amp::ampf< Precision > > &q)
void lqdecompositionunpacked(ap::template_2d_array< amp::ampf< Precision > > a, int m, int n, ap::template_2d_array< amp::ampf< Precision > > &l, ap::template_2d_array< amp::ampf< Precision > > &q)