118 int n, q, npol, mons,
i;
119 int *
A, *xopt, *lpol, *degw;
120 double f1, fx, eps, *rel;
124 lpol = (
int * )
omAlloc((sl + 1) *
sizeof(int));
127 for (i = n; i!=0; i--)
136 q = (n + 1) * mons *
sizeof(
int);
139 degw = A + (n * mons);
140 memset(degw, 0, mons *
sizeof(
int));
141 for (i = n; i!=0; i--)
143 wNorm(degw, lpol, npol, rel);
144 f1 = (*wFunctional)(degw, lpol, npol, rel, (double)1.0, wNsqr);
147 fx = (double)2.0 * eps;
148 memset(
x, 0, (n + 1) *
sizeof(
int));
151 memcpy(
x + 1, xopt + 1, n *
sizeof(
int));
152 memset(degw, 0, mons *
sizeof(
int));
153 for (i = n; i!=0; i--)
162 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)