2

Take the following set of inequalities:

Reduce[
  {
    ys < Power[xs^a + ys^a - x^a, 1/a],
    0 < xs < 10000,
    0 < ys < 12000,
    0 < x <10000,
    xs < x,
    0 < a < 1
  },
  {xs, ys, x, a},
  Reals
]

When I run it, I get the following error:

This system cannot be solved with the methods available to Reduce.

But why? How can I make it solvable via Reduce?

I read this other thread: Can Reduce really not solve for x here?, and I understood that if you provide a specific domain, as I did, the system should become solvable even if it involves transcendental functions.

  • 2
    How is Pow defined? –  May 20 '21 at 10:50
  • 2
    I think you overstate the ability of Reduce/Solve over a compact domain. This blog post indicates that for a single-variable holomorphic function, an equation can be solved over a compact domain. The situation for multivariate functions or ones that are not holomorphic is less clear to me. My experience is that some of them cannot be solved, so maybe not yours. The function z^a, with a a real variable and z a real or complex variable, is a common obstruction. – Michael E2 May 20 '21 at 11:51
  • @DiSp0sablE_H3r0 Whoops, I thought that that is the standard Power function. Yet, even after replacing Pow with Power, I am getting the same error. – Paul Razvan Berg May 20 '21 at 16:34
  • Thanks for the heads-up, @MichaelE2. – Paul Razvan Berg May 20 '21 at 16:44
  • From your first inequality it follows xs^a<x^a in contradiction to x<xs! – Ulrich Neumann May 20 '21 at 17:11
  • @UlrichNeumann I messed up the 5th inequality. Fixed now. Should have been xs < x. – Paul Razvan Berg May 20 '21 at 17:18
  • But I don't think that your inference is correct. Perhaps you meant x^a < xs^a? Even then, why would this follow from that inequality? As far as I can see, x^a can be bigger than xs^a, because ys^a^1/a = ys^1/a^2 and a is lower than 1. – Paul Razvan Berg May 20 '21 at 17:20
  • ys^a^1/a==1 I think! – Ulrich Neumann May 20 '21 at 17:31
  • There is a typo in your fix : Should be xs<x (not x>a)??? – Ulrich Neumann May 20 '21 at 17:33
  • @UlrichNeumann ys^a^1/a is not 1, but I was also wrong. ys^a^1/a is ys^root(a,a). Re typo, yes, you are correct. I updated now. – Paul Razvan Berg May 20 '21 at 17:37
  • 1
    Something can be done:NMinimize[{a, ys < Power[xs^a + ys^a - x^a, 1/a], 0 < xs < 10000, 0 < ys < 12000, 0 < x < 10000, xs < x, 0 < a < 1}, {xs, ys, x, a}] produces {0.00912988, {xs -> 2426.64, ys -> 0.022711, x -> 5341.51, a -> 0.00912988}} and NMaximize[...] produces 0.32545, {xs -> 0.5, ys -> 0.5, x -> 0.5, a -> 0.32545}}. Unfortunately, then FindInstance[ ys < Power[xs^a + ys^a - x^a, 1/a] && 0 < xs && 0 < ys < 12000 && 0 < x < 10000 && xs < x /. a -> 1/5, {xs, ys, x}, Reals] is running for ages. – user64494 May 20 '21 at 19:08

1 Answers1

1

If you change to non-powered variables {xs1,ys1,x1}, you get solutions for at least rational a of the form a = 1/( 2 b) with b being positive integers.

First get conditions for changed variables and then test your inequation.

{a = 1/Pi, 
red = List @@ 
Reduce[{xs^a == xs1, ys^a == ys1, x^a == x1, 0 < xs <  10000, 
  0 < ys < 12000, 0 < x < 10000, xs < x}, {xs, ys, x}, Reals] // 
 PowerExpand}

(* {1/[Pi], {0 < ys1 < 2^(5/[Pi]) 3^(1/[Pi]) 5^(3/[Pi]), 0 < x1 < 10^(4/[Pi]), 0 < xs1 < x1, xs == xs1^[Pi], ys == ys1^[Pi], x == x1^[Pi]}} *)

Reduce[ys1^(1/a) < Power[xs1 + ys1 - x1, 1/a] && And @@ red[[1 ;; 3]], {xs1, ys1, x1}, Reals]

(* Reduce::nsmet: This system cannot be solved with the methods available to Reduce. >> *)

With a = 3/10 you get "False". And so on. Let make a test function.

test := {a = Rationalize[RandomReal[{.06, .94}], 1/20], 
  red = List @@ 
Reduce[{xs^a == xs1, ys^a == ys1, x^a == x1, 0 < xs < 10000, 
  0 < ys < 12000, 0 < x < 10000, xs < x}, {xs, ys, x}, Reals]; 
Reduce[ys1^(1/a) < Power[xs1 + ys1 - x1, 1/a] && 
And @@ red[[1 ;; 3]], {xs1, ys1, x1}, Reals]}

Table[test, {20}] // TableForm

Result ( not shown here) indicates there are only solutions for a = 1/ (2 b) with b beeing positive integers. I leave it to you to prove this.

Graphics says the same.

Clear[a]; Manipulate[
RegionPlot3D[
ys < Power[xs^a + ys^a - x^a, 1/a] && xs < x, {xs, 0, 10000}, {ys, 
0, 12000}, {x, 0, 10000}] // 
Quiet, {a, {1/2, 1/E, 1/Pi, 1/3, 2/3, 1/4, 1/6, 1/8, 1/10, 1/12, 
1/14, 1/16, 1/18}}]
Akku14
  • 17,287
  • 14
  • 32