Find maximum of the output from reduceHow Can I use Solve/Reduce OutputFailure message from ReduceExtract...
Can I solder 12/2 Romex to extend wire 5 ft?
Formatting a table to look nice
Why is my Contribution Detail Report (native CiviCRM Core report) not accurate?
How do I deal with being envious of my own players?
Convergence to a fixed point
Quitting employee has privileged access to critical information
Why doesn't "adolescent" take any articles in "listen to adolescent agonising"?
A peculiar integral identity
Can the Shape Water Cantrip be used to manipulate blood?
Are small insurances worth it
How to mitigate "bandwagon attacking" from players?
If there are any 3nion, 5nion, 7nion, 9nion, 10nion, etc.
Can an earth elemental drown/bury its opponent underground using earth glide?
Create chunks from an array
Can we carry rice to Japan?
What is a term for a function that when called repeatedly, has the same effect as calling once?
3.5% Interest Student Loan or use all of my savings on Tuition?
What is better: yes / no radio, or simple checkbox?
Are there other characters in the Star Wars universe who had damaged bodies and needed to wear an outfit like Darth Vader?
Deal the cards to the players
Was it really inappropriate to write a pull request for the company I interviewed with?
Is there a full canon version of Tyrion's jackass/honeycomb joke?
It doesn't matter the side you see it
Reason why dimensional travelling would be restricted
Find maximum of the output from reduce
How Can I use Solve/Reduce OutputFailure message from ReduceExtract desired solutions from ReduceFinding the least positive integer satisfying a quantified statementhow do I control the output of Reduce function?Using the output of ReduceIncomplete and weird output from ReduceUsing Solve returns unnecessary Root, overcomplicated formula, and erroneous negative valueHow to analyse huge output from Reduce systematically?Make Reduce produce nicer output
$begingroup$
I am trying to reduce a function in two variables($n_1$ and $n_2$) whose domain is the set of Integers. I get a long list of pairs of values for these two variables(instead of a range). This could be because the range of $n_2$ changes for each $n_1$. I just want the maximum value of $n_1$ and $n_2$. Can you please guide me?
driftParamSet = 1.9 - 0.2 Subscript[n, 2] + Subscript[n, 1] (-0.2 + (2.91434*10^-16 Subscript[n, 1])/(1. Subscript[n, 1] + 1.5 Subscript[n, 2]));
drift[Gamma] = 17;
Reduce[driftParamSet> -drift[Gamma] && Subscript[n, 1]>= 0 && Subscript[n, 2]>= 0,{Subscript[n, 1],Subscript[n, 2]}, Integers];
Current output:
$n_1=0land n_2=1left|n_1=0land n_2=2right|n_1=0land n_2=3|n_1=0land n_2=4
\......\left|n_1=0land n_2=90right|n_1=0land n_2=91|\.....\
left(n_1=92land n_2=2right)lor left(n_1=93land n_2=0right)lor left(n_1=93land n_2=1right)lor left(n_1=94land n_2=0right)$
Expected output:
$n_1$=94 and $n_2=$91
equation-solving functions
$endgroup$
add a comment |
$begingroup$
I am trying to reduce a function in two variables($n_1$ and $n_2$) whose domain is the set of Integers. I get a long list of pairs of values for these two variables(instead of a range). This could be because the range of $n_2$ changes for each $n_1$. I just want the maximum value of $n_1$ and $n_2$. Can you please guide me?
driftParamSet = 1.9 - 0.2 Subscript[n, 2] + Subscript[n, 1] (-0.2 + (2.91434*10^-16 Subscript[n, 1])/(1. Subscript[n, 1] + 1.5 Subscript[n, 2]));
drift[Gamma] = 17;
Reduce[driftParamSet> -drift[Gamma] && Subscript[n, 1]>= 0 && Subscript[n, 2]>= 0,{Subscript[n, 1],Subscript[n, 2]}, Integers];
Current output:
$n_1=0land n_2=1left|n_1=0land n_2=2right|n_1=0land n_2=3|n_1=0land n_2=4
\......\left|n_1=0land n_2=90right|n_1=0land n_2=91|\.....\
left(n_1=92land n_2=2right)lor left(n_1=93land n_2=0right)lor left(n_1=93land n_2=1right)lor left(n_1=94land n_2=0right)$
Expected output:
$n_1$=94 and $n_2=$91
equation-solving functions
$endgroup$
1
$begingroup$
Several symbols in your code are undefined. Please provide the definitions to aid the reader in answering your question.
$endgroup$
– bbgodfrey
1 hour ago
$begingroup$
@bbgodfrey, sorry about that. I have updated the question now.
$endgroup$
– gaganso
1 hour ago
add a comment |
$begingroup$
I am trying to reduce a function in two variables($n_1$ and $n_2$) whose domain is the set of Integers. I get a long list of pairs of values for these two variables(instead of a range). This could be because the range of $n_2$ changes for each $n_1$. I just want the maximum value of $n_1$ and $n_2$. Can you please guide me?
driftParamSet = 1.9 - 0.2 Subscript[n, 2] + Subscript[n, 1] (-0.2 + (2.91434*10^-16 Subscript[n, 1])/(1. Subscript[n, 1] + 1.5 Subscript[n, 2]));
drift[Gamma] = 17;
Reduce[driftParamSet> -drift[Gamma] && Subscript[n, 1]>= 0 && Subscript[n, 2]>= 0,{Subscript[n, 1],Subscript[n, 2]}, Integers];
Current output:
$n_1=0land n_2=1left|n_1=0land n_2=2right|n_1=0land n_2=3|n_1=0land n_2=4
\......\left|n_1=0land n_2=90right|n_1=0land n_2=91|\.....\
left(n_1=92land n_2=2right)lor left(n_1=93land n_2=0right)lor left(n_1=93land n_2=1right)lor left(n_1=94land n_2=0right)$
Expected output:
$n_1$=94 and $n_2=$91
equation-solving functions
$endgroup$
I am trying to reduce a function in two variables($n_1$ and $n_2$) whose domain is the set of Integers. I get a long list of pairs of values for these two variables(instead of a range). This could be because the range of $n_2$ changes for each $n_1$. I just want the maximum value of $n_1$ and $n_2$. Can you please guide me?
driftParamSet = 1.9 - 0.2 Subscript[n, 2] + Subscript[n, 1] (-0.2 + (2.91434*10^-16 Subscript[n, 1])/(1. Subscript[n, 1] + 1.5 Subscript[n, 2]));
drift[Gamma] = 17;
Reduce[driftParamSet> -drift[Gamma] && Subscript[n, 1]>= 0 && Subscript[n, 2]>= 0,{Subscript[n, 1],Subscript[n, 2]}, Integers];
Current output:
$n_1=0land n_2=1left|n_1=0land n_2=2right|n_1=0land n_2=3|n_1=0land n_2=4
\......\left|n_1=0land n_2=90right|n_1=0land n_2=91|\.....\
left(n_1=92land n_2=2right)lor left(n_1=93land n_2=0right)lor left(n_1=93land n_2=1right)lor left(n_1=94land n_2=0right)$
Expected output:
$n_1$=94 and $n_2=$91
equation-solving functions
equation-solving functions
edited 1 hour ago
gaganso
asked 2 hours ago
gagansogaganso
1207
1207
1
$begingroup$
Several symbols in your code are undefined. Please provide the definitions to aid the reader in answering your question.
$endgroup$
– bbgodfrey
1 hour ago
$begingroup$
@bbgodfrey, sorry about that. I have updated the question now.
$endgroup$
– gaganso
1 hour ago
add a comment |
1
$begingroup$
Several symbols in your code are undefined. Please provide the definitions to aid the reader in answering your question.
$endgroup$
– bbgodfrey
1 hour ago
$begingroup$
@bbgodfrey, sorry about that. I have updated the question now.
$endgroup$
– gaganso
1 hour ago
1
1
$begingroup$
Several symbols in your code are undefined. Please provide the definitions to aid the reader in answering your question.
$endgroup$
– bbgodfrey
1 hour ago
$begingroup$
Several symbols in your code are undefined. Please provide the definitions to aid the reader in answering your question.
$endgroup$
– bbgodfrey
1 hour ago
$begingroup$
@bbgodfrey, sorry about that. I have updated the question now.
$endgroup$
– gaganso
1 hour ago
$begingroup$
@bbgodfrey, sorry about that. I have updated the question now.
$endgroup$
– gaganso
1 hour ago
add a comment |
2 Answers
2
active
oldest
votes
$begingroup$
Let the large result of Reduce
be rs
. Then the maximum of each quantity is determined by
Max@Cases[rs, Equal[Subscript[n, 1], z_] -> z, Infinity]
(* 94 *)
Max@Cases[rs, Equal[Subscript[n, 2], z_] -> z, Infinity]
(* 94 *)
not 91
as speculated in the question. The corresponding terms in rs
can be obtained by
Position[rs, 94, Infinity]
(* {{94, 2, 2}, {4559, 1, 2}} *)
rs[[94]]
(* Subscript[n, 1] == 0 && Subscript[n, 2] == 94 *)
rs[[4559]]
(* Subscript[n, 1] == 94 && Subscript[n, 2] == 0 *)
$endgroup$
$begingroup$
thank you! To understand this better, the Cases[] function with the specified parameter creates a list of values of n1/n2 and the Max[] function operates on this list to give the maximum?
$endgroup$
– gaganso
1 hour ago
1
$begingroup$
@gaganso Precisely so.
$endgroup$
– bbgodfrey
1 hour ago
add a comment |
$begingroup$
An alternative is to use Solve
after Rationalize
ing input expressions:
driftParamSet = Rationalize[1.9 - 0.2 n2 +
n1 (-0.2 + (2.91434*10^-16 n1)/(1. n1 + 1.5 n2)), 10^-16]
driftγ = 17;
solutions = Solve[driftParamSet > -driftγ && n1 >= 0 && n2 >= 0, {n1, n2}, Integers];
Max /@ Transpose[{n1, n2} /. solutions]
{94, 94}
Yet another approach is using ArgMax
:
Extract[ArgMax[{#, driftParamSet > -driftγ && n1 >= 0 && n2 >= 0}, {n1, n2}, Integers]& /@
{n1, n2}, {{1, 1}, {-1, -1}}]
{94, 94}
$endgroup$
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
});
});
}, "mathjax-editing");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "387"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
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%2f192764%2ffind-maximum-of-the-output-from-reduce%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
Let the large result of Reduce
be rs
. Then the maximum of each quantity is determined by
Max@Cases[rs, Equal[Subscript[n, 1], z_] -> z, Infinity]
(* 94 *)
Max@Cases[rs, Equal[Subscript[n, 2], z_] -> z, Infinity]
(* 94 *)
not 91
as speculated in the question. The corresponding terms in rs
can be obtained by
Position[rs, 94, Infinity]
(* {{94, 2, 2}, {4559, 1, 2}} *)
rs[[94]]
(* Subscript[n, 1] == 0 && Subscript[n, 2] == 94 *)
rs[[4559]]
(* Subscript[n, 1] == 94 && Subscript[n, 2] == 0 *)
$endgroup$
$begingroup$
thank you! To understand this better, the Cases[] function with the specified parameter creates a list of values of n1/n2 and the Max[] function operates on this list to give the maximum?
$endgroup$
– gaganso
1 hour ago
1
$begingroup$
@gaganso Precisely so.
$endgroup$
– bbgodfrey
1 hour ago
add a comment |
$begingroup$
Let the large result of Reduce
be rs
. Then the maximum of each quantity is determined by
Max@Cases[rs, Equal[Subscript[n, 1], z_] -> z, Infinity]
(* 94 *)
Max@Cases[rs, Equal[Subscript[n, 2], z_] -> z, Infinity]
(* 94 *)
not 91
as speculated in the question. The corresponding terms in rs
can be obtained by
Position[rs, 94, Infinity]
(* {{94, 2, 2}, {4559, 1, 2}} *)
rs[[94]]
(* Subscript[n, 1] == 0 && Subscript[n, 2] == 94 *)
rs[[4559]]
(* Subscript[n, 1] == 94 && Subscript[n, 2] == 0 *)
$endgroup$
$begingroup$
thank you! To understand this better, the Cases[] function with the specified parameter creates a list of values of n1/n2 and the Max[] function operates on this list to give the maximum?
$endgroup$
– gaganso
1 hour ago
1
$begingroup$
@gaganso Precisely so.
$endgroup$
– bbgodfrey
1 hour ago
add a comment |
$begingroup$
Let the large result of Reduce
be rs
. Then the maximum of each quantity is determined by
Max@Cases[rs, Equal[Subscript[n, 1], z_] -> z, Infinity]
(* 94 *)
Max@Cases[rs, Equal[Subscript[n, 2], z_] -> z, Infinity]
(* 94 *)
not 91
as speculated in the question. The corresponding terms in rs
can be obtained by
Position[rs, 94, Infinity]
(* {{94, 2, 2}, {4559, 1, 2}} *)
rs[[94]]
(* Subscript[n, 1] == 0 && Subscript[n, 2] == 94 *)
rs[[4559]]
(* Subscript[n, 1] == 94 && Subscript[n, 2] == 0 *)
$endgroup$
Let the large result of Reduce
be rs
. Then the maximum of each quantity is determined by
Max@Cases[rs, Equal[Subscript[n, 1], z_] -> z, Infinity]
(* 94 *)
Max@Cases[rs, Equal[Subscript[n, 2], z_] -> z, Infinity]
(* 94 *)
not 91
as speculated in the question. The corresponding terms in rs
can be obtained by
Position[rs, 94, Infinity]
(* {{94, 2, 2}, {4559, 1, 2}} *)
rs[[94]]
(* Subscript[n, 1] == 0 && Subscript[n, 2] == 94 *)
rs[[4559]]
(* Subscript[n, 1] == 94 && Subscript[n, 2] == 0 *)
edited 1 hour ago
answered 1 hour ago
bbgodfreybbgodfrey
44.8k958110
44.8k958110
$begingroup$
thank you! To understand this better, the Cases[] function with the specified parameter creates a list of values of n1/n2 and the Max[] function operates on this list to give the maximum?
$endgroup$
– gaganso
1 hour ago
1
$begingroup$
@gaganso Precisely so.
$endgroup$
– bbgodfrey
1 hour ago
add a comment |
$begingroup$
thank you! To understand this better, the Cases[] function with the specified parameter creates a list of values of n1/n2 and the Max[] function operates on this list to give the maximum?
$endgroup$
– gaganso
1 hour ago
1
$begingroup$
@gaganso Precisely so.
$endgroup$
– bbgodfrey
1 hour ago
$begingroup$
thank you! To understand this better, the Cases[] function with the specified parameter creates a list of values of n1/n2 and the Max[] function operates on this list to give the maximum?
$endgroup$
– gaganso
1 hour ago
$begingroup$
thank you! To understand this better, the Cases[] function with the specified parameter creates a list of values of n1/n2 and the Max[] function operates on this list to give the maximum?
$endgroup$
– gaganso
1 hour ago
1
1
$begingroup$
@gaganso Precisely so.
$endgroup$
– bbgodfrey
1 hour ago
$begingroup$
@gaganso Precisely so.
$endgroup$
– bbgodfrey
1 hour ago
add a comment |
$begingroup$
An alternative is to use Solve
after Rationalize
ing input expressions:
driftParamSet = Rationalize[1.9 - 0.2 n2 +
n1 (-0.2 + (2.91434*10^-16 n1)/(1. n1 + 1.5 n2)), 10^-16]
driftγ = 17;
solutions = Solve[driftParamSet > -driftγ && n1 >= 0 && n2 >= 0, {n1, n2}, Integers];
Max /@ Transpose[{n1, n2} /. solutions]
{94, 94}
Yet another approach is using ArgMax
:
Extract[ArgMax[{#, driftParamSet > -driftγ && n1 >= 0 && n2 >= 0}, {n1, n2}, Integers]& /@
{n1, n2}, {{1, 1}, {-1, -1}}]
{94, 94}
$endgroup$
add a comment |
$begingroup$
An alternative is to use Solve
after Rationalize
ing input expressions:
driftParamSet = Rationalize[1.9 - 0.2 n2 +
n1 (-0.2 + (2.91434*10^-16 n1)/(1. n1 + 1.5 n2)), 10^-16]
driftγ = 17;
solutions = Solve[driftParamSet > -driftγ && n1 >= 0 && n2 >= 0, {n1, n2}, Integers];
Max /@ Transpose[{n1, n2} /. solutions]
{94, 94}
Yet another approach is using ArgMax
:
Extract[ArgMax[{#, driftParamSet > -driftγ && n1 >= 0 && n2 >= 0}, {n1, n2}, Integers]& /@
{n1, n2}, {{1, 1}, {-1, -1}}]
{94, 94}
$endgroup$
add a comment |
$begingroup$
An alternative is to use Solve
after Rationalize
ing input expressions:
driftParamSet = Rationalize[1.9 - 0.2 n2 +
n1 (-0.2 + (2.91434*10^-16 n1)/(1. n1 + 1.5 n2)), 10^-16]
driftγ = 17;
solutions = Solve[driftParamSet > -driftγ && n1 >= 0 && n2 >= 0, {n1, n2}, Integers];
Max /@ Transpose[{n1, n2} /. solutions]
{94, 94}
Yet another approach is using ArgMax
:
Extract[ArgMax[{#, driftParamSet > -driftγ && n1 >= 0 && n2 >= 0}, {n1, n2}, Integers]& /@
{n1, n2}, {{1, 1}, {-1, -1}}]
{94, 94}
$endgroup$
An alternative is to use Solve
after Rationalize
ing input expressions:
driftParamSet = Rationalize[1.9 - 0.2 n2 +
n1 (-0.2 + (2.91434*10^-16 n1)/(1. n1 + 1.5 n2)), 10^-16]
driftγ = 17;
solutions = Solve[driftParamSet > -driftγ && n1 >= 0 && n2 >= 0, {n1, n2}, Integers];
Max /@ Transpose[{n1, n2} /. solutions]
{94, 94}
Yet another approach is using ArgMax
:
Extract[ArgMax[{#, driftParamSet > -driftγ && n1 >= 0 && n2 >= 0}, {n1, n2}, Integers]& /@
{n1, n2}, {{1, 1}, {-1, -1}}]
{94, 94}
edited 28 mins ago
answered 59 mins ago
kglrkglr
187k10203421
187k10203421
add a comment |
add a comment |
Thanks for contributing an answer to Mathematica Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
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%2f192764%2ffind-maximum-of-the-output-from-reduce%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
1
$begingroup$
Several symbols in your code are undefined. Please provide the definitions to aid the reader in answering your question.
$endgroup$
– bbgodfrey
1 hour ago
$begingroup$
@bbgodfrey, sorry about that. I have updated the question now.
$endgroup$
– gaganso
1 hour ago