Find maximum of the output from reduceHow Can I use Solve/Reduce OutputFailure message from ReduceExtract...

Is there a math equivalent to the conditional ternary operator?

Create chunks from an array

Why is it "take a leak?"

The need of reserving one's ability in job interviews

A bug in Excel? Conditional formatting for marking duplicates also highlights unique value

PTIJ: Mordechai mourning

How to concatenate two command in shell

How can friction do no work in case of pure rolling?

Can a Tiny Servant be used as a messenger?

How to chmod files that have a specific set of permissions

How to roleplay my character's ethics according to the DM when I don't understand those ethics?

« Rendre » et « render » (the meaning)

Why would the IRS ask for birth certificates or even audit a small tax return?

Being asked to review a paper in conference one has submitted to

Why do we see a rainbow of colors reflected off a CD or DVD?

What is the purpose of a disclaimer like "this is not legal advice"?

Has Wakanda ever accepted refugees?

What is the oldest European royal house?

In the world of The Matrix, what is "popping"?

Why do phishing e-mails use faked e-mail addresses instead of the real one?

Deal the cards to the players

Remove object from array based on array of some property of that object

What kind of inflection is occuring in passive vb + かかった?

How can I handle a player who pre-plans arguments about my rulings on RAW?



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













4












$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










share|improve this question











$endgroup$








  • 1




    $begingroup$
    Several symbols in your code are undefined. Please provide the definitions to aid the reader in answering your question.
    $endgroup$
    – bbgodfrey
    14 hours ago










  • $begingroup$
    @bbgodfrey, sorry about that. I have updated the question now.
    $endgroup$
    – gaganso
    14 hours ago
















4












$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










share|improve this question











$endgroup$








  • 1




    $begingroup$
    Several symbols in your code are undefined. Please provide the definitions to aid the reader in answering your question.
    $endgroup$
    – bbgodfrey
    14 hours ago










  • $begingroup$
    @bbgodfrey, sorry about that. I have updated the question now.
    $endgroup$
    – gaganso
    14 hours ago














4












4








4





$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










share|improve this question











$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






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 14 hours ago







gaganso

















asked 14 hours ago









gagansogaganso

1307




1307








  • 1




    $begingroup$
    Several symbols in your code are undefined. Please provide the definitions to aid the reader in answering your question.
    $endgroup$
    – bbgodfrey
    14 hours ago










  • $begingroup$
    @bbgodfrey, sorry about that. I have updated the question now.
    $endgroup$
    – gaganso
    14 hours ago














  • 1




    $begingroup$
    Several symbols in your code are undefined. Please provide the definitions to aid the reader in answering your question.
    $endgroup$
    – bbgodfrey
    14 hours ago










  • $begingroup$
    @bbgodfrey, sorry about that. I have updated the question now.
    $endgroup$
    – gaganso
    14 hours 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
14 hours ago




$begingroup$
Several symbols in your code are undefined. Please provide the definitions to aid the reader in answering your question.
$endgroup$
– bbgodfrey
14 hours ago












$begingroup$
@bbgodfrey, sorry about that. I have updated the question now.
$endgroup$
– gaganso
14 hours ago




$begingroup$
@bbgodfrey, sorry about that. I have updated the question now.
$endgroup$
– gaganso
14 hours ago










2 Answers
2






active

oldest

votes


















4












$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 *)





share|improve this answer











$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
    13 hours ago






  • 1




    $begingroup$
    @gaganso Precisely so.
    $endgroup$
    – bbgodfrey
    13 hours ago



















4












$begingroup$

An alternative is to use Solve after Rationalizeing 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}







share|improve this answer











$endgroup$













    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
    });


    }
    });














    draft saved

    draft discarded


















    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









    4












    $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 *)





    share|improve this answer











    $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
      13 hours ago






    • 1




      $begingroup$
      @gaganso Precisely so.
      $endgroup$
      – bbgodfrey
      13 hours ago
















    4












    $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 *)





    share|improve this answer











    $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
      13 hours ago






    • 1




      $begingroup$
      @gaganso Precisely so.
      $endgroup$
      – bbgodfrey
      13 hours ago














    4












    4








    4





    $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 *)





    share|improve this answer











    $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 *)






    share|improve this answer














    share|improve this answer



    share|improve this answer








    edited 13 hours ago

























    answered 13 hours ago









    bbgodfreybbgodfrey

    44.9k958110




    44.9k958110












    • $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
      13 hours ago






    • 1




      $begingroup$
      @gaganso Precisely so.
      $endgroup$
      – bbgodfrey
      13 hours 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
      13 hours ago






    • 1




      $begingroup$
      @gaganso Precisely so.
      $endgroup$
      – bbgodfrey
      13 hours 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
    13 hours 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
    13 hours ago




    1




    1




    $begingroup$
    @gaganso Precisely so.
    $endgroup$
    – bbgodfrey
    13 hours ago




    $begingroup$
    @gaganso Precisely so.
    $endgroup$
    – bbgodfrey
    13 hours ago











    4












    $begingroup$

    An alternative is to use Solve after Rationalizeing 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}







    share|improve this answer











    $endgroup$


















      4












      $begingroup$

      An alternative is to use Solve after Rationalizeing 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}







      share|improve this answer











      $endgroup$
















        4












        4








        4





        $begingroup$

        An alternative is to use Solve after Rationalizeing 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}







        share|improve this answer











        $endgroup$



        An alternative is to use Solve after Rationalizeing 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}








        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited 13 hours ago

























        answered 13 hours ago









        kglrkglr

        187k10203421




        187k10203421






























            draft saved

            draft discarded




















































            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.




            draft saved


            draft discarded














            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





















































            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







            Popular posts from this blog

            Installing LyX: “No textclass is found.”LyX installation error- text class not found- 'Reconfigure' or...

            (1602) Indiana Índice Designación y nombre Características orbitales Véase...

            Universidad Autónoma de Occidente Índice Historia Campus Facultades Programas Académicos Medios de...