## Sergio Parreiras

Dr. Sergio Parreiras

## 135 Reputation

17 years, 166 days
UNC Chapel Hill
Associate Professor

## try SolveTools[Parametric] instead of s...

@williamov  try SolveTools[Parametric]  instead of solve. In this case both give the same answer but if you are using polynomials, I think Parametric may perform better.

## What is the operator?...

I do not know what operator/mapping you are referring to.

When you refer to kernel or image what is the operator?

But to check that you can not recover {x,y} using only {r,u,v,w} you do not need algebraic geometry,  you can use the simpler argument: if F(x,y,r,u,v,w) = [ r-x^4,u-(x^3)*y,v-x*y^3,w-y^4 ] and F(x1,y1,r1,u1,v1,w1)=[0,0,0,0] then

F(-x1,-y1,r1,u1,v1,w1)=[0,0,0,0]. So the same (r,u,v,w) is always consistent with at least two points: (x,y) and (-x,-y).

Sorry I can not answer your last questions but without knowing which mapping or operator you are referring to, it is impossible for me. please do not assume that readers here will necessarily know which book or particular details of the problem you are working on. it is always better to err on the side of providing more information in a quesiton than less.

## What is the operator?...

I do not know what operator/mapping you are referring to.

When you refer to kernel or image what is the operator?

But to check that you can not recover {x,y} using only {r,u,v,w} you do not need algebraic geometry,  you can use the simpler argument: if F(x,y,r,u,v,w) = [ r-x^4,u-(x^3)*y,v-x*y^3,w-y^4 ] and F(x1,y1,r1,u1,v1,w1)=[0,0,0,0] then

F(-x1,-y1,r1,u1,v1,w1)=[0,0,0,0]. So the same (r,u,v,w) is always consistent with at least two points: (x,y) and (-x,-y).

Sorry I can not answer your last questions but without knowing which mapping or operator you are referring to, it is impossible for me. please do not assume that readers here will necessarily know which book or particular details of the problem you are working on. it is always better to err on the side of providing more information in a quesiton than less.

## thanks/Maple IDE...

Thanks Carl! Later when I get sometime I will try and perhaps see if Maple IDE can be used to help.

## thanks/Maple IDE...

Thanks Carl! Later when I get sometime I will try and perhaps see if Maple IDE can be used to help.

## perhaps this?...

1. eliminate will NOT generate a polynomial in all cases
2. I do not know much of Groebner basis (I only use it to solve systems of equations) but if you are interest only on the zeros of u*w^2/(u*w^2)^(2/3) then you can replace it by its numerator as shown below. You get that R=R2a. But not sure if this is what you want...

## perhaps this?...

1. eliminate will NOT generate a polynomial in all cases
2. I do not know much of Groebner basis (I only use it to solve systems of equations) but if you are interest only on the zeros of u*w^2/(u*w^2)^(2/3) then you can replace it by its numerator as shown below. You get that R=R2a. But not sure if this is what you want...

## Thanks but it does not work....

"RoofOf" was a typo in my original question but index=real[2] was not a typo. It was generated by a Maple command: the culprit is the SemiAlgebraic command that produces an output RootOf with index=real[2] and evalf is not able to look only among the real roots. The proposed "solution" than the one in my question, it uses index=2 which evalf can manage. The RootOf problem where evalf fails was generated with the following code in Maple 16. The code and its output are in the file. RootOf_problem.mw

So my question is:  can we either numerically evaluated RootOf when it has index=real[k] where k is some integer or can we convert this representation to the more usual one where index=k ?

## Thanks but it does not work....

"RoofOf" was a typo in my original question but index=real[2] was not a typo. It was generated by a Maple command: the culprit is the SemiAlgebraic command that produces an output RootOf with index=real[2] and evalf is not able to look only among the real roots. The proposed "solution" than the one in my question, it uses index=2 which evalf can manage. The RootOf problem where evalf fails was generated with the following code in Maple 16. The code and its output are in the file. RootOf_problem.mw

So my question is:  can we either numerically evaluated RootOf when it has index=real[k] where k is some integer or can we convert this representation to the more usual one where index=k ?

## Actually it is a semi-algebraic system ....

Roman thanks a lot for your answer. First let me apologize: the Groebner package does work fine (unlike I posted previously) in the Linux cluster -- but not on my laptop :-)

The problem was with the package RegularChains that I have to use since my ultimate goal is to prove the existence of an unique real solution in the interior of (0,1)^16 (in the 16 x 16 example/case) - we economists always have to deal with constraints so localization and isolation are very important to us.

My first attempt was to generate a lex Groeber basis for the system (it takes few secs in the Linux cluster) and then fed the solution to RealRootCounting of RegularChains/SemiAlgebraicSetTools package but RealRootCounting's algorithm is very slow for my problem. After 5 days running I killed the process.  Skipping second attempt story... In my final attempt, I fed the lex Grobner basis but with its first equation simplified (the solution of the 12 x 12 case tells me what roots of the 16 x 16 case are not in (0,1)^16 -- due to the specifics of the problem) to IsolateRealRoots also in the RegularChains package. It took a total of 29 secs and I got the output, which is just one box. If I understood correctly the description of the command,

"The RealRootIsolate command returns a list of boxes. Each box isolates exactly one real root of the regular chain rc or semi-algebraic system S whose polynomial equations, non-negative polynomial inequalities, (strictly) positive polynomial inequalities and polynomial inequations are given respectively by F, N, P, and H. Moreover, it is guaranteed that all real solutions are found."

having just one box means the solution exists and is unique. In the end of the story I was puzzled with the performance of RealRootCounting, with RealRootIsolate I used method='Discoverer'. RealRootCounting does not support a method option.

Thanks again!

## Actually it is a semi-algebraic system ....

Roman thanks a lot for your answer. First let me apologize: the Groebner package does work fine (unlike I posted previously) in the Linux cluster -- but not on my laptop :-)

The problem was with the package RegularChains that I have to use since my ultimate goal is to prove the existence of an unique real solution in the interior of (0,1)^16 (in the 16 x 16 example/case) - we economists always have to deal with constraints so localization and isolation are very important to us.

My first attempt was to generate a lex Groeber basis for the system (it takes few secs in the Linux cluster) and then fed the solution to RealRootCounting of RegularChains/SemiAlgebraicSetTools package but RealRootCounting's algorithm is very slow for my problem. After 5 days running I killed the process.  Skipping second attempt story... In my final attempt, I fed the lex Grobner basis but with its first equation simplified (the solution of the 12 x 12 case tells me what roots of the 16 x 16 case are not in (0,1)^16 -- due to the specifics of the problem) to IsolateRealRoots also in the RegularChains package. It took a total of 29 secs and I got the output, which is just one box. If I understood correctly the description of the command,

"The RealRootIsolate command returns a list of boxes. Each box isolates exactly one real root of the regular chain rc or semi-algebraic system S whose polynomial equations, non-negative polynomial inequalities, (strictly) positive polynomial inequalities and polynomial inequations are given respectively by F, N, P, and H. Moreover, it is guaranteed that all real solutions are found."

having just one box means the solution exists and is unique. In the end of the story I was puzzled with the performance of RealRootCounting, with RealRootIsolate I used method='Discoverer'. RealRootCounting does not support a method option.

Thanks again!

## In Maple 15 you can use RealRootCounting...

@rdw42  In Maple 15 you can use RealRoot counting to see how many roots are in a given region, you gain more information but it maybe slower...  you just have to be sure that the type of the variables is symbol and not indexed. in rdw42's original file just add/modify this:

and your output is zero (no real roots, as we expected). Thanks to Joe Riel for helping me with the type issue using RealRootCounting, http://www.mapleprimes.com/questions/143298-Problem-With-Subscripts#comment143299

## In Maple 15 you can use RealRootCounting...

@rdw42  In Maple 15 you can use RealRoot counting to see how many roots are in a given region, you gain more information but it maybe slower...  you just have to be sure that the type of the variables is symbol and not indexed. in rdw42's original file just add/modify this:

and your output is zero (no real roots, as we expected). Thanks to Joe Riel for helping me with the type issue using RealRootCounting, http://www.mapleprimes.com/questions/143298-Problem-With-Subscripts#comment143299

## Related Bug?...

Not sure if this is a bug, but the problem seems related

If I use the initaldata( { diff(f(x,y)=x*y }) I obtain an answer but if instead my "system" is slightly different,

initialdata({diff(f(x,y)=y}) gives the following error message:

Error, (in DEtools/Rif/setup) equation of unknown type symbol : y

I am using the lastest Maple 15 version

 1 2 3 4 Page 3 of 4
﻿