116 int n, q, npol, mons,
i;
117 int *
A, *xopt, *lpol, *degw;
118 double f1, fx, eps, *rel;
122 lpol = (
int * )
omAlloc((sl + 1) *
sizeof(int));
125 for (i = n; i!=0; i--)
134 q = (n + 1) * mons *
sizeof(
int);
137 degw = A + (n * mons);
138 memset(degw, 0, mons *
sizeof(
int));
139 for (i = n; i!=0; i--)
141 wNorm(degw, lpol, npol, rel);
142 f1 = (*wFunctional)(degw, lpol, npol, rel, (double)1.0, wNsqr);
145 fx = (double)2.0 * eps;
146 memset(
x, 0, (n + 1) *
sizeof(
int));
149 memcpy(
x + 1, xopt + 1, n *
sizeof(
int));
150 memset(degw, 0, mons *
sizeof(
int));
151 for (i = n; i!=0; i--)
160 for (i = n; i!=0; i--)
const CanonicalForm int s
#define omFreeSize(addr, size)
static short rVar(const ring r)
#define rVar(r) (r->N)
void wAdd(int *A, int mons, int kn, int xx, int rvar)
void wSecondSearch(int *A, int *x, int *lpol, int npol, int mons, double *rel, double *fk, double wNsqr, int rvar)
static void wDimensions(poly *s, int sl, int *lpol, int *npol, int *mons)
static void wInit(poly *s, int sl, int mons, int *A, const ring R)
void wFirstSearch(int *A, int *x, int mons, int *lpol, int npol, double *rel, double *fopt, double wNsqr, int rvar)
void wNorm(int *degw, int *lpol, int npol, double *rel)