2
$\begingroup$

my problem is the following:

I have three inequalities in five variables $x,u,a,b,c\in \mathbb{R},x>0 $:

a/x >= +c + (1/(x))*Sqrt[a^2*(u^2 + 1) - 2*a*(b*u + c)*x + (b^2 + c^2)*x^2]

2*(u*b + c)/(u^2 + 1) >=  a/x + c + (1/(x))* Sqrt[a^2*(u^2 + 1) 
                           - 2*a*(b*u + c)*x + (b^2 + c^2)*x^2]

2*((u - x)*(b - a) + c)/((u - x)^2 + 1) >=  a/x + c + (1/(x))* Sqrt[a^2*(u^2 + 1)
                                            - 2*a*(b*u + c)*x + (b^2 + c^2)*x^2]

I need to find conditions on $x$ and $u$ such that for every value of $a,b,c$ the following inequality is satisfied:

  Max[2*a/x,2*(u*b + c)/(u^2 + 1), 2*((u - x)*(b - a)
  + c)/((u - x)^2 + 1)] >= a/x+ c + (1/(x))* Sqrt[a^2*(u^2 + 1) 
  - 2*a*(b*u + c)*x + (b^2 + c^2)*x^2]

My idea was to use the command

Simplify[Reduce[{Max[2*a/x,2*(u*b + c)/(u^2 + 1), 2*((u - x)*(b - a)
  + c)/((u - x)^2 + 1)] >= a/x+ c + (1/(x))* Sqrt[a^2*(u^2 + 1) 
  - 2*a*(b*u + c)*x + (b^2 + c^2)*x^2],x>0}, {x, u, a, b, c}]]

and search for a condition only with $x$ and $u$.

The only problem is that Mathematica seems to run out of memory: it starts running and computing and never ends.. I guess the condition with the Max is too hard to compute. Do you know if there is a lighter (in terms of computational power) way to solve the problem?

EDIT: x<0 is not acceptable as an answer because I consider only x>0

$\endgroup$
  • $\begingroup$ Please post the expressions as copyable code snippets, so we can try. $\endgroup$ – Marius Ladegård Meyer May 31 '16 at 10:55
  • $\begingroup$ ok, now it is better? $\endgroup$ – user294185 May 31 '16 at 10:58
  • $\begingroup$ If you wrap the inequalities in backticks like this its perfect :) Or you can highlight the expressions and press the {} button in the question editor. $\endgroup$ – Marius Ladegård Meyer May 31 '16 at 11:00
  • $\begingroup$ I find your question is not quite clear. ...to find conditions on u and v? There is x , not v. Moreover expressions could be simplified at least a bit. No condition on u? Where does this problem come from? $\endgroup$ – Artes May 31 '16 at 12:13
  • $\begingroup$ sorry, it was "conditions on $x$ and $u$. I need to find $x$ and $u$ such that at least one of the inequalities is satisfied for every value of $a$ and $b$ and $c$. Is it clear now? $\endgroup$ – user294185 May 31 '16 at 12:17
1
$\begingroup$

I think it will work much faster if you define a domain for a,b,c. Otherwise you will end up with a lot of Conditionals.

for example

con1 = (2*a/x >=  a/x + c + (1/(x))*Sqrt[a^2*(u^2 + 1) 
        - 2*a*(b*u + c)*x + (b^2 + c^2)*x^2])
con2 = (2*(u*b + c)/(u^2 + 1) >= a/x + c + (1/(x))* Sqrt[a^2*(u^2 + 1)  
        - 2*a*(b*u + c)*x + (b^2 + c^2)*x^2])
con3 = (2*((u - x)*(b - a) + c)/((u - x)^2 + 1) >=  a/x + c 
        + (1/(x))* Sqrt[a^2*(u^2 + 1) - 2*a*(b*u + c)*x + (b^2 + c^2)*x^2])

And what you are asking is

Reduce[con1 || con2 || con3, {x, u}, Reals]

I am not sure if there is a global solution and running for ages. So next best think I can do is define a domain. Lets take two conditions at a time

s2 = Reduce[con1 || con2, {x, u}, Reals]

will give you a large numbers of conditions and you can see that their is no unique result. So I define a domain, say a>b>c>0

Assuming[{a > b > c > 0}, Simplify[s2]]

Gives you a definite result. You can scan different ranges to get a full picture.

Visual Solution

Sometimes a visual method comes handy (it is a quack indeed). You just plot and check the solution.

Manipulate[
 Row[{
  RegionPlot[Block[{a = a0, b = b0, c = c0}, con1], {x, -10, 10}, {u, -10, 10}
  ,ImageSize -> 200],
  RegionPlot[Block[{a = a0, b = b0, c = c0}, con2], {x, -10, 10}, {u, -10, 10}
  ,ImageSize -> 200],
  RegionPlot[Block[{a = a0, b = b0, c = c0}, con3], {x, -10, 10}, {u, -10, 10}
  ,ImageSize -> 200]
  }] , {a0, 0, 1}, {b0, 0, 1}, {c0, 0, 1}]

enter image description here

As you can see x<0 satisfy all cases. You can further verify with Reduce.

Reduce[Block[{a = 0.1, b = 0.1, c = 0.2}, {con1 || con2 || con3}], {x, u}, Reals] 

x<0

or you can put it in Manipulate.

$\endgroup$
  • $\begingroup$ At least one of ineaqualities has to be satisfied for any real a, b, c. Conditions are to be imposed on x and u and not on a, b, c. It seems you've misunderstood the question. $\endgroup$ – Artes May 31 '16 at 13:06
  • $\begingroup$ Yes, Artes is right. Also, I'm sorry but I edited the question, because actually I need the Max to be greater than the expression with the square root $\endgroup$ – user294185 May 31 '16 at 13:26
  • $\begingroup$ I am not sure if a global solution exists in this case. So probably the best choice is scanning different region and combine them. This is the best I can do in that case :| $\endgroup$ – Sumit May 31 '16 at 13:27
  • $\begingroup$ Defining regions for $a$, $b$ and $c$ is not a problem. But what I do need is a result with conditions only for x and u, in which a,b,c don't appear. If I compile the code you wrote I get conditions with $a,b,c$ $\endgroup$ – user294185 May 31 '16 at 13:36
  • $\begingroup$ Another problem is that if I try to do s2 = Reduce[con1 || con2 || con3, {x, u}, Reals] I get the same problem of Mathematica running indefinitely.. $\endgroup$ – user294185 May 31 '16 at 15:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.