Tag Info

Hot answers tagged

10

Your question cannot realistically be answered. One almost never knows what specifically comprises such an impediment. Here is a Groebner basis for your system of polynomials, computed for degree reverse lexicographic order. It takes some time to do this. Not sure if it will run in reasonable time directly; I used a numeric approximation and rationalized ...


10

"[O]nly a little"?? You just went from a system of 6 equations in 6 variables to a 20 x 20 system. I have to wonder what a big enlargement might be. You might try soln = NSolve[polys] But that also could well hang. A better possibility in terms of likelihood of completing might be to use local methods such as FindRoot, provided you have some idea of ...


8

The Buchberger algorithm (the main approach used in computing a GroebnerBasis) strongly depends on the number of variables. It has double exponential dependence. So, if in the first example you have only six variables, while in the latter one there are 20, in the worst case you could expect up to 2^(2^20)/2^(2^6) // N 3.654379384547651*10^315633 ...


7

If the (ordered) list of veriables is not specified, GroebnerBasis will order the variables as it encounters them. I remark that, as this depends on implementation details, it can be version dependent. The question (which I should have anticipated) was raised as to how one might get the "variables" that GroebnerBasis sees, and in the same order. It can be ...


7

Here is how I would go about finding the reciprocal as a member of that quotient ideal. I'll demonstrate with an example. We start with polynomials that generate an ideal I in Q[x,y,z]. polys = {x^2 + x*y - z^3 + 3, x*y - y^2 + 2*z - 5, 58 x - 4*y^2*z - 3*x*z + 7}; Here is the polyniomial we wish to invert in Q/I. We will set it equal to a new ...


6

I show some aged code cribbed from this MathGroup post (See also this library item). There is some amount of explanation in each. But the most salient quote, from the post, is this. "It is unlikely that I can do justice to the explanation. So far as correctness goes, let's just say the code is on the honor system." firstContainsSecond[l1_, l2_] := ...


5

The simplest method, that will usually be correct, is to just use NSolve. polys = {x^2 y + 2 x y + 2, y^3 + 2 x + 1}; Length[NSolve[polys]] (* Out[421]= 7 *) Below is from code I have used for solution counting and related (it is related to code inside NSolve, to answer the question of "Why not just use NSolve?"). Some is also used in this MSE response. ...


4

I know this isn't what you want, but perhaps it can be twisted to approach it: ns = NSolve[And @@ Thread[Equal[1.0 list, 0.]], {x, y, z, w, t}, Complexes] Retuns: NSolve::infsolns: Infinite solution set has dimension at least 1. Returning intersection of solutions with (153196 t)/195501+(185938 w)/195501+(38650 x)/65167-(41688 y)/65167-(153968 ...


3

Here's the code kindly provided by Daniel Lichtblau in the accepted answer, modified to work with Mathematica 9. All the credit goes to him, and, of course, this comes with no warranties ;) The code is inspired from T.Becker, V.Weisphenning - Groebner bases, (Table 9.6, pp 449). firstContainsSecond[l1_, l2_] := (Union[l1, l2] === l1); isIndependentSet[set_, ...


3

Not sure if it helps but since you have five variables and four equations you might eliminate three variables and get a bivariate. Timing[ gbelim = GroebnerBasis[polys, {x, y}, {z, t, w}, MonomialOrder -> EliminationOrder];] (* t[41]= {359.164000, Null} *) The result is not all that large actually. gbelim (* Out[46]= {6115962008563732 + ...


1

The documentation is very instructive. For your particular example: gb = GroebnerBasis[{x^2 y + 2 x y + 2, y^3 + 2 x + 1}, {x, y}] Finding roots: sol = N@Solve[gb[[1]] == 0, y] =>{{y -> -1.29819}, {y -> -0.871821 - 1.29622 I}, {y -> -0.871821 + 1.29622 I}, {y -> 0.274176 - 1.20102 I}, {y -> 0.274176 + 1.20102 I}, {y -> 1.24674 - 0.331078 I}, ...



Only top voted, non community-wiki answers of a minimum length are eligible