Skip to main content
Routine clean-up
Source Link
m_goldberg
  • 108.1k
  • 16
  • 104
  • 259

How can this Why does my inequality needs 14 Nonrequire "AssumptionsMaxNonlinearVariables" -linear variables inside Assumption option for Simplify[]> 14?

I have the following code for determiningsimplifying an inequality using Simplify[], the codes are as follows:

glbcond=glbcond =
  {0 < d1 < 1, d1 \[Element] Reals, 0 < d2 < 1, d2 \[Element] Reals, 
   0 < d3 < 1, d3 \[Element] Reals, 0 < e1 < 1, e1 \[Element] Reals, 
   0 < e2 < 1, e2 \[Element] Reals, 0 < e3 < 1, e3 \[Element] Reals, 
   0 < Hd < 1, Hd \[Element] Reals, 0 < Hu < 1, Hu \[Element] Reals, 
   0 < L1 < 1, L1 \[Element] Reals, 0 < L2 < 1, L2 \[Element] Reals, 
   0 < L3 < 1, L3 \[Element] Reals, 0 < Q1 < 1, Q1 \[Element] Reals, 
   0 < Q2 < 1, Q2 \[Element] Reals, 0 < Q3 < 1, Q3 \[Element] Reals, 
   0 < u1 < 1, u1 \[Element] Reals, 0 < u2 < 1, u2 \[Element] Reals, 
   0 < u3 < 1, u3 \[Element] Reals};

z2cond=Hdz2cond = 
  Hd < Hu < L1 < L2 < L3 < Q1 < Q2 < Q3 < u1 < u2 < u3 < d1 < d2 < d3;

In[97]:=Simplify[Abs Simplify[Abs@@ (Q1 u1)/(d2 Q3)<1 < 1, (And@@glbcond)&&z2cond]
Out[97]=And Q1@@ u1<d2glbcond) Q3&& z2cond]

Q1 u1 < d2 Q3

However, if I turn up the SystemOptions as suggested by this related post [here][1]here as

SetSystemOptions["SimplificationOptions"SetSystemOptions[
  "SimplificationOptions" -> "AssumptionsMaxNonlinearVariables" -> 14]

I get

In[99]:= Simplify[Abs[(Q1 u1)/(d2 Q3)]<1] < 1,glbcond&&z2cond]
Out[99]= Trueglbcond && z2cond]

True

So my question is, how exactly are the numbers of non-linear variables calculated? As far as I can see from my example, all the inequalities inside the argument for assumption are linear. Or fordoes the calculation of number of non-linear variables involvesinvolve both of the two arguments sitting inside of Simplify[]Simplify?

This my first post in MMA stackexchange, hopeon Mathematica.SE. I hadhope my post meets the right syntax andsite's posting conventions :) [1]: Checking inequalities: How can $x>0,y>0$ yet $x+y$ indeterminate?

How can this inequality needs 14 Non-linear variables inside Assumption option for Simplify[]

I have the following code for determining an inequality using Simplify[], the codes are as follows:

glbcond={0 < d1 < 1, d1 \[Element] Reals, 0 < d2 < 1, d2 \[Element] Reals, 
 0 < d3 < 1, d3 \[Element] Reals, 0 < e1 < 1, e1 \[Element] Reals, 
 0 < e2 < 1, e2 \[Element] Reals, 0 < e3 < 1, e3 \[Element] Reals, 
 0 < Hd < 1, Hd \[Element] Reals, 0 < Hu < 1, Hu \[Element] Reals, 
 0 < L1 < 1, L1 \[Element] Reals, 0 < L2 < 1, L2 \[Element] Reals, 
 0 < L3 < 1, L3 \[Element] Reals, 0 < Q1 < 1, Q1 \[Element] Reals, 
 0 < Q2 < 1, Q2 \[Element] Reals, 0 < Q3 < 1, Q3 \[Element] Reals, 
 0 < u1 < 1, u1 \[Element] Reals, 0 < u2 < 1, u2 \[Element] Reals, 
 0 < u3 < 1, u3 \[Element] Reals};

z2cond=Hd < Hu < L1 < L2 < L3 < Q1 < Q2 < Q3 < u1 < u2 < u3 < d1 < d2 < d3;

In[97]:= Simplify[Abs@(Q1 u1)/(d2 Q3)<1,(And@@glbcond)&&z2cond]
Out[97]= Q1 u1<d2 Q3

However, if I turn up the SystemOptions as suggested by this related post [here][1] as

SetSystemOptions["SimplificationOptions" -> "AssumptionsMaxNonlinearVariables" -> 14]

I get

In[99]:= Simplify[Abs[(Q1 u1)/(d2 Q3)]<1,glbcond&&z2cond]
Out[99]= True

So my question is, how exactly are the numbers of non-linear variables calculated? As far as I can see from my example, all the inequalities inside the argument for assumption are linear. Or for the calculation of number of non-linear variables involves both two arguments sitting inside of Simplify[]?

This my first post in MMA stackexchange, hope I had the right syntax and conventions :) [1]: Checking inequalities: How can $x>0,y>0$ yet $x+y$ indeterminate?

Why does my inequality require "AssumptionsMaxNonlinearVariables" -> 14?

I have the following code for simplifying an inequality:

glbcond =
  {0 < d1 < 1, d1  Reals, 0 < d2 < 1, d2  Reals, 
   0 < d3 < 1, d3  Reals, 0 < e1 < 1, e1  Reals, 
   0 < e2 < 1, e2  Reals, 0 < e3 < 1, e3  Reals, 
   0 < Hd < 1, Hd  Reals, 0 < Hu < 1, Hu  Reals, 
   0 < L1 < 1, L1  Reals, 0 < L2 < 1, L2  Reals, 
   0 < L3 < 1, L3  Reals, 0 < Q1 < 1, Q1  Reals, 
   0 < Q2 < 1, Q2  Reals, 0 < Q3 < 1, Q3  Reals, 
   0 < u1 < 1, u1  Reals, 0 < u2 < 1, u2  Reals, 
   0 < u3 < 1, u3  Reals};

z2cond = 
  Hd < Hu < L1 < L2 < L3 < Q1 < Q2 < Q3 < u1 < u2 < u3 < d1 < d2 < d3;

Simplify[Abs @ (Q1 u1)/(d2 Q3) < 1, (And @@ glbcond) && z2cond]

Q1 u1 < d2 Q3

However, if I turn up the SystemOptions as suggested by this related post here as

SetSystemOptions[
  "SimplificationOptions" -> "AssumptionsMaxNonlinearVariables" -> 14]

I get

Simplify[Abs[(Q1 u1)/(d2 Q3)] < 1, glbcond && z2cond]

True

So my question is, how exactly are the numbers of non-linear variables calculated? As far as I can see from my example, all the inequalities inside the argument for assumption are linear. Or does the calculation of number of non-linear variables involve both of the two arguments sitting inside Simplify?

This my first post on Mathematica.SE. I hope my post meets the site's posting conventions :)

Source Link
Y.X.
  • 11
  • 1

How can this inequality needs 14 Non-linear variables inside Assumption option for Simplify[]

I have the following code for determining an inequality using Simplify[], the codes are as follows:

glbcond={0 < d1 < 1, d1 \[Element] Reals, 0 < d2 < 1, d2 \[Element] Reals, 
 0 < d3 < 1, d3 \[Element] Reals, 0 < e1 < 1, e1 \[Element] Reals, 
 0 < e2 < 1, e2 \[Element] Reals, 0 < e3 < 1, e3 \[Element] Reals, 
 0 < Hd < 1, Hd \[Element] Reals, 0 < Hu < 1, Hu \[Element] Reals, 
 0 < L1 < 1, L1 \[Element] Reals, 0 < L2 < 1, L2 \[Element] Reals, 
 0 < L3 < 1, L3 \[Element] Reals, 0 < Q1 < 1, Q1 \[Element] Reals, 
 0 < Q2 < 1, Q2 \[Element] Reals, 0 < Q3 < 1, Q3 \[Element] Reals, 
 0 < u1 < 1, u1 \[Element] Reals, 0 < u2 < 1, u2 \[Element] Reals, 
 0 < u3 < 1, u3 \[Element] Reals};

z2cond=Hd < Hu < L1 < L2 < L3 < Q1 < Q2 < Q3 < u1 < u2 < u3 < d1 < d2 < d3;

In[97]:= Simplify[Abs@(Q1 u1)/(d2 Q3)<1,(And@@glbcond)&&z2cond]
Out[97]= Q1 u1<d2 Q3

However, if I turn up the SystemOptions as suggested by this related post [here][1] as

SetSystemOptions["SimplificationOptions" -> "AssumptionsMaxNonlinearVariables" -> 14]

I get

In[99]:= Simplify[Abs[(Q1 u1)/(d2 Q3)]<1,glbcond&&z2cond]
Out[99]= True

So my question is, how exactly are the numbers of non-linear variables calculated? As far as I can see from my example, all the inequalities inside the argument for assumption are linear. Or for the calculation of number of non-linear variables involves both two arguments sitting inside of Simplify[]?

This my first post in MMA stackexchange, hope I had the right syntax and conventions :) [1]: Checking inequalities: How can $x>0,y>0$ yet $x+y$ indeterminate?