Simplify and Sign working only in small expressions
up vote
3
down vote
favorite
I'm trying to find the sign of some very long expressions, but I don't seem to make it work using Simplify[Sign[...], Assumptions ...]. Here is an example of my problem. I can easily find the sign of these two expressions:
exp1 = θA1^2 θAU (16 θB1^3 (1 - λ)^4 +
64 θB1^2 θBU (1 - λ)^3 (1 + λ) +
5 θBU^3 (1 - λ) (1 + λ)^3 +
54 θB1 θBU^2 (1 - λ^2)^2);
Simplify[Sign[8 (exp1)] ,
Assumptions -> {(1 - λ) > 0, θA1 > 0, θAU > 0, θB1 > 0, θBU > 0, λ > 0}]
This expression correctly calculates as 1. A second expression:
exp2 = θA1 θAU^2 (16 θB1^3 (1 - λ)^3 (1 + λ) + 44 θB1 θBU^2 (1 - λ) (1 + λ)^3 +
5 θBU^3 (1 + λ)^4 + 54 θB1^2 θBU (1 - λ^2)^2);
Simplify[Sign[8 (exp2)] ,
Assumptions -> {(1 - λ) > 0, θA1 > 0, θAU > 0, θB1 > 0, θBU > 0, λ > 0}]
Correctly calculates as 1 too. BUT when I try:
Simplify[Sign[8 (exp1 + exp2)] ,
Assumptions -> {(1 - λ) > 0, θA1 > 0, θAU > 0, θB1 > 0, θBU > 0, λ > 0}]
Then Mathematica cannot compute... Any ideas on what may be going on here?
simplifying-expressions
add a comment |
up vote
3
down vote
favorite
I'm trying to find the sign of some very long expressions, but I don't seem to make it work using Simplify[Sign[...], Assumptions ...]. Here is an example of my problem. I can easily find the sign of these two expressions:
exp1 = θA1^2 θAU (16 θB1^3 (1 - λ)^4 +
64 θB1^2 θBU (1 - λ)^3 (1 + λ) +
5 θBU^3 (1 - λ) (1 + λ)^3 +
54 θB1 θBU^2 (1 - λ^2)^2);
Simplify[Sign[8 (exp1)] ,
Assumptions -> {(1 - λ) > 0, θA1 > 0, θAU > 0, θB1 > 0, θBU > 0, λ > 0}]
This expression correctly calculates as 1. A second expression:
exp2 = θA1 θAU^2 (16 θB1^3 (1 - λ)^3 (1 + λ) + 44 θB1 θBU^2 (1 - λ) (1 + λ)^3 +
5 θBU^3 (1 + λ)^4 + 54 θB1^2 θBU (1 - λ^2)^2);
Simplify[Sign[8 (exp2)] ,
Assumptions -> {(1 - λ) > 0, θA1 > 0, θAU > 0, θB1 > 0, θBU > 0, λ > 0}]
Correctly calculates as 1 too. BUT when I try:
Simplify[Sign[8 (exp1 + exp2)] ,
Assumptions -> {(1 - λ) > 0, θA1 > 0, θAU > 0, θB1 > 0, θBU > 0, λ > 0}]
Then Mathematica cannot compute... Any ideas on what may be going on here?
simplifying-expressions
add a comment |
up vote
3
down vote
favorite
up vote
3
down vote
favorite
I'm trying to find the sign of some very long expressions, but I don't seem to make it work using Simplify[Sign[...], Assumptions ...]. Here is an example of my problem. I can easily find the sign of these two expressions:
exp1 = θA1^2 θAU (16 θB1^3 (1 - λ)^4 +
64 θB1^2 θBU (1 - λ)^3 (1 + λ) +
5 θBU^3 (1 - λ) (1 + λ)^3 +
54 θB1 θBU^2 (1 - λ^2)^2);
Simplify[Sign[8 (exp1)] ,
Assumptions -> {(1 - λ) > 0, θA1 > 0, θAU > 0, θB1 > 0, θBU > 0, λ > 0}]
This expression correctly calculates as 1. A second expression:
exp2 = θA1 θAU^2 (16 θB1^3 (1 - λ)^3 (1 + λ) + 44 θB1 θBU^2 (1 - λ) (1 + λ)^3 +
5 θBU^3 (1 + λ)^4 + 54 θB1^2 θBU (1 - λ^2)^2);
Simplify[Sign[8 (exp2)] ,
Assumptions -> {(1 - λ) > 0, θA1 > 0, θAU > 0, θB1 > 0, θBU > 0, λ > 0}]
Correctly calculates as 1 too. BUT when I try:
Simplify[Sign[8 (exp1 + exp2)] ,
Assumptions -> {(1 - λ) > 0, θA1 > 0, θAU > 0, θB1 > 0, θBU > 0, λ > 0}]
Then Mathematica cannot compute... Any ideas on what may be going on here?
simplifying-expressions
I'm trying to find the sign of some very long expressions, but I don't seem to make it work using Simplify[Sign[...], Assumptions ...]. Here is an example of my problem. I can easily find the sign of these two expressions:
exp1 = θA1^2 θAU (16 θB1^3 (1 - λ)^4 +
64 θB1^2 θBU (1 - λ)^3 (1 + λ) +
5 θBU^3 (1 - λ) (1 + λ)^3 +
54 θB1 θBU^2 (1 - λ^2)^2);
Simplify[Sign[8 (exp1)] ,
Assumptions -> {(1 - λ) > 0, θA1 > 0, θAU > 0, θB1 > 0, θBU > 0, λ > 0}]
This expression correctly calculates as 1. A second expression:
exp2 = θA1 θAU^2 (16 θB1^3 (1 - λ)^3 (1 + λ) + 44 θB1 θBU^2 (1 - λ) (1 + λ)^3 +
5 θBU^3 (1 + λ)^4 + 54 θB1^2 θBU (1 - λ^2)^2);
Simplify[Sign[8 (exp2)] ,
Assumptions -> {(1 - λ) > 0, θA1 > 0, θAU > 0, θB1 > 0, θBU > 0, λ > 0}]
Correctly calculates as 1 too. BUT when I try:
Simplify[Sign[8 (exp1 + exp2)] ,
Assumptions -> {(1 - λ) > 0, θA1 > 0, θAU > 0, θB1 > 0, θBU > 0, λ > 0}]
Then Mathematica cannot compute... Any ideas on what may be going on here?
simplifying-expressions
simplifying-expressions
edited Nov 18 at 18:51
kglr
173k8194400
173k8194400
asked Nov 18 at 18:40
NinjaCowAndForks
444
444
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
5
down vote
accepted
You need to increase the value of the suboption "AssumptionsMaxNonlinearVariables" to a value higher than its default value (4):
SystemOptions["SimplificationOptions"]
{"SimplificationOptions" -> {"AssumptionsMaxExponent" -> 25,
"AssumptionsMaxNonlinearVariables" -> 4,
"AssumptionsMaxVariables" -> 21, "AutosimplifyTrigs" -> True,
"AutosimplifyTwoArgumentLog" -> True,
"ConvertTrigsToRadicals" -> False, "FiniteSumMaxTerms" -> 30,
"FunctionExpandMaxSteps" -> 15, "ListableFirst" -> True,
"RestartELProver" -> False, "SimplifyMaxExponents" -> 100,
"SimplifyToPiecewise" -> True}}
Set the value of the suboption "AssumptionsMaxNonlinearVariables" to a higher value (say, 10):
SetSystemOptions["SimplificationOptions" -> {"AssumptionsMaxNonlinearVariables" -> 10}];
Simplify[Sign[8 (exp1 + exp2)],
Assumptions -> {(1 - λ) > 0, θA1 > 0, θAU > 0, θB1 > 0, θBU > 0, λ > 0}]
1
Reset the suboption value to its default:
SetSystemOptions["SimplificationOptions" -> {"AssumptionsMaxNonlinearVariables" -> 4}];
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
5
down vote
accepted
You need to increase the value of the suboption "AssumptionsMaxNonlinearVariables" to a value higher than its default value (4):
SystemOptions["SimplificationOptions"]
{"SimplificationOptions" -> {"AssumptionsMaxExponent" -> 25,
"AssumptionsMaxNonlinearVariables" -> 4,
"AssumptionsMaxVariables" -> 21, "AutosimplifyTrigs" -> True,
"AutosimplifyTwoArgumentLog" -> True,
"ConvertTrigsToRadicals" -> False, "FiniteSumMaxTerms" -> 30,
"FunctionExpandMaxSteps" -> 15, "ListableFirst" -> True,
"RestartELProver" -> False, "SimplifyMaxExponents" -> 100,
"SimplifyToPiecewise" -> True}}
Set the value of the suboption "AssumptionsMaxNonlinearVariables" to a higher value (say, 10):
SetSystemOptions["SimplificationOptions" -> {"AssumptionsMaxNonlinearVariables" -> 10}];
Simplify[Sign[8 (exp1 + exp2)],
Assumptions -> {(1 - λ) > 0, θA1 > 0, θAU > 0, θB1 > 0, θBU > 0, λ > 0}]
1
Reset the suboption value to its default:
SetSystemOptions["SimplificationOptions" -> {"AssumptionsMaxNonlinearVariables" -> 4}];
add a comment |
up vote
5
down vote
accepted
You need to increase the value of the suboption "AssumptionsMaxNonlinearVariables" to a value higher than its default value (4):
SystemOptions["SimplificationOptions"]
{"SimplificationOptions" -> {"AssumptionsMaxExponent" -> 25,
"AssumptionsMaxNonlinearVariables" -> 4,
"AssumptionsMaxVariables" -> 21, "AutosimplifyTrigs" -> True,
"AutosimplifyTwoArgumentLog" -> True,
"ConvertTrigsToRadicals" -> False, "FiniteSumMaxTerms" -> 30,
"FunctionExpandMaxSteps" -> 15, "ListableFirst" -> True,
"RestartELProver" -> False, "SimplifyMaxExponents" -> 100,
"SimplifyToPiecewise" -> True}}
Set the value of the suboption "AssumptionsMaxNonlinearVariables" to a higher value (say, 10):
SetSystemOptions["SimplificationOptions" -> {"AssumptionsMaxNonlinearVariables" -> 10}];
Simplify[Sign[8 (exp1 + exp2)],
Assumptions -> {(1 - λ) > 0, θA1 > 0, θAU > 0, θB1 > 0, θBU > 0, λ > 0}]
1
Reset the suboption value to its default:
SetSystemOptions["SimplificationOptions" -> {"AssumptionsMaxNonlinearVariables" -> 4}];
add a comment |
up vote
5
down vote
accepted
up vote
5
down vote
accepted
You need to increase the value of the suboption "AssumptionsMaxNonlinearVariables" to a value higher than its default value (4):
SystemOptions["SimplificationOptions"]
{"SimplificationOptions" -> {"AssumptionsMaxExponent" -> 25,
"AssumptionsMaxNonlinearVariables" -> 4,
"AssumptionsMaxVariables" -> 21, "AutosimplifyTrigs" -> True,
"AutosimplifyTwoArgumentLog" -> True,
"ConvertTrigsToRadicals" -> False, "FiniteSumMaxTerms" -> 30,
"FunctionExpandMaxSteps" -> 15, "ListableFirst" -> True,
"RestartELProver" -> False, "SimplifyMaxExponents" -> 100,
"SimplifyToPiecewise" -> True}}
Set the value of the suboption "AssumptionsMaxNonlinearVariables" to a higher value (say, 10):
SetSystemOptions["SimplificationOptions" -> {"AssumptionsMaxNonlinearVariables" -> 10}];
Simplify[Sign[8 (exp1 + exp2)],
Assumptions -> {(1 - λ) > 0, θA1 > 0, θAU > 0, θB1 > 0, θBU > 0, λ > 0}]
1
Reset the suboption value to its default:
SetSystemOptions["SimplificationOptions" -> {"AssumptionsMaxNonlinearVariables" -> 4}];
You need to increase the value of the suboption "AssumptionsMaxNonlinearVariables" to a value higher than its default value (4):
SystemOptions["SimplificationOptions"]
{"SimplificationOptions" -> {"AssumptionsMaxExponent" -> 25,
"AssumptionsMaxNonlinearVariables" -> 4,
"AssumptionsMaxVariables" -> 21, "AutosimplifyTrigs" -> True,
"AutosimplifyTwoArgumentLog" -> True,
"ConvertTrigsToRadicals" -> False, "FiniteSumMaxTerms" -> 30,
"FunctionExpandMaxSteps" -> 15, "ListableFirst" -> True,
"RestartELProver" -> False, "SimplifyMaxExponents" -> 100,
"SimplifyToPiecewise" -> True}}
Set the value of the suboption "AssumptionsMaxNonlinearVariables" to a higher value (say, 10):
SetSystemOptions["SimplificationOptions" -> {"AssumptionsMaxNonlinearVariables" -> 10}];
Simplify[Sign[8 (exp1 + exp2)],
Assumptions -> {(1 - λ) > 0, θA1 > 0, θAU > 0, θB1 > 0, θBU > 0, λ > 0}]
1
Reset the suboption value to its default:
SetSystemOptions["SimplificationOptions" -> {"AssumptionsMaxNonlinearVariables" -> 4}];
edited Nov 18 at 19:00
answered Nov 18 at 18:50
kglr
173k8194400
173k8194400
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f186256%2fsimplify-and-sign-working-only-in-small-expressions%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown