Using Thread to map a two variable functionNested Map and ApplyUsing MapIndexed only at certain elements of a listHow to use Map inside MapThread?Function output of two lists are only diagonal elementsUse map on a different levelHow to Map a function with HoldAll attributeHow to map a function on a variable listMapping a simple 2 variable function

'Hard work never hurt anyone' Why not 'hurts'?

Do index funds really have double-digit percents annual return rates?

What drugs were used in England during the High Middle Ages?

Why do we need explainable AI?

What did Boris Johnson mean when he said "extra 34 billion going into the NHS"

co-son-in-law or co-brother

Would you recommend a keyboard for beginners with or without lights in keys for learning?

First Number to Contain Each Letter

What happens if I double Meddling Mage's 'enter the battlefield' trigger?

The little bee buzzes around the flower garden

What exactly is a softlock?

Can I sleep overnight at Stansted Airport

Did Alan Turing's student Robin Gandy assert that Charles Babbage had no notion of a universal computing machine?

Time to call the bluff

Has Rey's new lightsaber been seen before in canon or legends?

In-universe, why does Doc Brown program the time machine to go to 1955?

What happens when there is no available physical memory left for SQL Server?

Were the women of Travancore, India, taxed for covering their breasts by breast size?

What happens if the Spare the Dying cantrip is cast on a Zealot barbarian using Rage Beyond Death?

Question about derivation of kinematics equations

How will the UK Commons debate tonight despite the prorogation?

Tiny image scraper for xkcd.com

Are treasury bonds more liquid than USD?

std::tuple sizeof, is it a missed optimization?



Using Thread to map a two variable function


Nested Map and ApplyUsing MapIndexed only at certain elements of a listHow to use Map inside MapThread?Function output of two lists are only diagonal elementsUse map on a different levelHow to Map a function with HoldAll attributeHow to map a function on a variable listMapping a simple 2 variable function






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








1












$begingroup$


I have the following function:



magicFunction[ lst_, val_ ] := Fold[ ((#2 < val) && #1) &, True, lst ]


It works



In[]=:magicFunction[6,7,9] 
Out[]= True


I want to Map the function. To do it I use Thread.



If I use Thread for a noname function with the list I want to map, the following is produced:



In[]:= Thread[f[6,7,2,3,1,2,9, 10,5]]
Out[]= f[6,7,9],f[2,3,10],f[1,2,5]


That is exactly what I want to do.



However, when I use magicFunction that is not what I get. If I use magicFunction I should get the following:



Out[]:= magicFunction[6,7,9],magicFunction[2,3,10],magicFunction[1,2,5]


which then evaluates to:



Out[]:= True, True, True


However what I get is the following:



In[]:= Thread[magicFunction[6,7,2,3,1,2,9, 10,5]]

Out[]:= 1,2<9,10,5&&2,3<9,10,5&&6,7<9,10,5


Does anybody know what I m doing wrong?



Thanks in advance!










share|improve this question









New contributor



Mavatanet is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






$endgroup$




















    1












    $begingroup$


    I have the following function:



    magicFunction[ lst_, val_ ] := Fold[ ((#2 < val) && #1) &, True, lst ]


    It works



    In[]=:magicFunction[6,7,9] 
    Out[]= True


    I want to Map the function. To do it I use Thread.



    If I use Thread for a noname function with the list I want to map, the following is produced:



    In[]:= Thread[f[6,7,2,3,1,2,9, 10,5]]
    Out[]= f[6,7,9],f[2,3,10],f[1,2,5]


    That is exactly what I want to do.



    However, when I use magicFunction that is not what I get. If I use magicFunction I should get the following:



    Out[]:= magicFunction[6,7,9],magicFunction[2,3,10],magicFunction[1,2,5]


    which then evaluates to:



    Out[]:= True, True, True


    However what I get is the following:



    In[]:= Thread[magicFunction[6,7,2,3,1,2,9, 10,5]]

    Out[]:= 1,2<9,10,5&&2,3<9,10,5&&6,7<9,10,5


    Does anybody know what I m doing wrong?



    Thanks in advance!










    share|improve this question









    New contributor



    Mavatanet is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.






    $endgroup$
















      1












      1








      1





      $begingroup$


      I have the following function:



      magicFunction[ lst_, val_ ] := Fold[ ((#2 < val) && #1) &, True, lst ]


      It works



      In[]=:magicFunction[6,7,9] 
      Out[]= True


      I want to Map the function. To do it I use Thread.



      If I use Thread for a noname function with the list I want to map, the following is produced:



      In[]:= Thread[f[6,7,2,3,1,2,9, 10,5]]
      Out[]= f[6,7,9],f[2,3,10],f[1,2,5]


      That is exactly what I want to do.



      However, when I use magicFunction that is not what I get. If I use magicFunction I should get the following:



      Out[]:= magicFunction[6,7,9],magicFunction[2,3,10],magicFunction[1,2,5]


      which then evaluates to:



      Out[]:= True, True, True


      However what I get is the following:



      In[]:= Thread[magicFunction[6,7,2,3,1,2,9, 10,5]]

      Out[]:= 1,2<9,10,5&&2,3<9,10,5&&6,7<9,10,5


      Does anybody know what I m doing wrong?



      Thanks in advance!










      share|improve this question









      New contributor



      Mavatanet is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      $endgroup$




      I have the following function:



      magicFunction[ lst_, val_ ] := Fold[ ((#2 < val) && #1) &, True, lst ]


      It works



      In[]=:magicFunction[6,7,9] 
      Out[]= True


      I want to Map the function. To do it I use Thread.



      If I use Thread for a noname function with the list I want to map, the following is produced:



      In[]:= Thread[f[6,7,2,3,1,2,9, 10,5]]
      Out[]= f[6,7,9],f[2,3,10],f[1,2,5]


      That is exactly what I want to do.



      However, when I use magicFunction that is not what I get. If I use magicFunction I should get the following:



      Out[]:= magicFunction[6,7,9],magicFunction[2,3,10],magicFunction[1,2,5]


      which then evaluates to:



      Out[]:= True, True, True


      However what I get is the following:



      In[]:= Thread[magicFunction[6,7,2,3,1,2,9, 10,5]]

      Out[]:= 1,2<9,10,5&&2,3<9,10,5&&6,7<9,10,5


      Does anybody know what I m doing wrong?



      Thanks in advance!







      map






      share|improve this question









      New contributor



      Mavatanet is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.










      share|improve this question









      New contributor



      Mavatanet is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.








      share|improve this question




      share|improve this question








      edited 7 hours ago









      Carl Woll

      89.6k3 gold badges117 silver badges229 bronze badges




      89.6k3 gold badges117 silver badges229 bronze badges






      New contributor



      Mavatanet is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.








      asked 8 hours ago









      MavatanetMavatanet

      511 bronze badge




      511 bronze badge




      New contributor



      Mavatanet is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.




      New contributor




      Mavatanet is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.

























          2 Answers
          2






          active

          oldest

          votes


















          3














          $begingroup$

          Your issue is that magicFunction evaluated before Thread could do anything. One idea to avoid this is to use Unevaluated:



          Thread[Unevaluated @ magicFunction[6,7,2,3,1,2,9,10,5]]



          True, True, True




          Another idea is to add an argument restriction to your magicFunction. Since Less only makes sense for numeric quantities, you can use:



          Clear[magicFunction]
          magicFunction[lst_, val_?NumericQ] := Fold[((#2<val)&&#1)&,True,lst]


          Then:



          Thread[magicFunction[6,7,2,3,1,2,9,10,5]]



          True, True, True







          share|improve this answer









          $endgroup$






















            3














            $begingroup$

            You can use MapThread:



            MapThread[magicFunction, 6, 7, 2, 3, 1, 2, 9, 10, 5]



            True, True, True







            share|improve this answer











            $endgroup$

















              Your Answer








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



              );






              Mavatanet is a new contributor. Be nice, and check out our Code of Conduct.









              draft saved

              draft discarded


















              StackExchange.ready(
              function ()
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f204741%2fusing-thread-to-map-a-two-variable-function%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









              3














              $begingroup$

              Your issue is that magicFunction evaluated before Thread could do anything. One idea to avoid this is to use Unevaluated:



              Thread[Unevaluated @ magicFunction[6,7,2,3,1,2,9,10,5]]



              True, True, True




              Another idea is to add an argument restriction to your magicFunction. Since Less only makes sense for numeric quantities, you can use:



              Clear[magicFunction]
              magicFunction[lst_, val_?NumericQ] := Fold[((#2<val)&&#1)&,True,lst]


              Then:



              Thread[magicFunction[6,7,2,3,1,2,9,10,5]]



              True, True, True







              share|improve this answer









              $endgroup$



















                3














                $begingroup$

                Your issue is that magicFunction evaluated before Thread could do anything. One idea to avoid this is to use Unevaluated:



                Thread[Unevaluated @ magicFunction[6,7,2,3,1,2,9,10,5]]



                True, True, True




                Another idea is to add an argument restriction to your magicFunction. Since Less only makes sense for numeric quantities, you can use:



                Clear[magicFunction]
                magicFunction[lst_, val_?NumericQ] := Fold[((#2<val)&&#1)&,True,lst]


                Then:



                Thread[magicFunction[6,7,2,3,1,2,9,10,5]]



                True, True, True







                share|improve this answer









                $endgroup$

















                  3














                  3










                  3







                  $begingroup$

                  Your issue is that magicFunction evaluated before Thread could do anything. One idea to avoid this is to use Unevaluated:



                  Thread[Unevaluated @ magicFunction[6,7,2,3,1,2,9,10,5]]



                  True, True, True




                  Another idea is to add an argument restriction to your magicFunction. Since Less only makes sense for numeric quantities, you can use:



                  Clear[magicFunction]
                  magicFunction[lst_, val_?NumericQ] := Fold[((#2<val)&&#1)&,True,lst]


                  Then:



                  Thread[magicFunction[6,7,2,3,1,2,9,10,5]]



                  True, True, True







                  share|improve this answer









                  $endgroup$



                  Your issue is that magicFunction evaluated before Thread could do anything. One idea to avoid this is to use Unevaluated:



                  Thread[Unevaluated @ magicFunction[6,7,2,3,1,2,9,10,5]]



                  True, True, True




                  Another idea is to add an argument restriction to your magicFunction. Since Less only makes sense for numeric quantities, you can use:



                  Clear[magicFunction]
                  magicFunction[lst_, val_?NumericQ] := Fold[((#2<val)&&#1)&,True,lst]


                  Then:



                  Thread[magicFunction[6,7,2,3,1,2,9,10,5]]



                  True, True, True








                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered 7 hours ago









                  Carl WollCarl Woll

                  89.6k3 gold badges117 silver badges229 bronze badges




                  89.6k3 gold badges117 silver badges229 bronze badges


























                      3














                      $begingroup$

                      You can use MapThread:



                      MapThread[magicFunction, 6, 7, 2, 3, 1, 2, 9, 10, 5]



                      True, True, True







                      share|improve this answer











                      $endgroup$



















                        3














                        $begingroup$

                        You can use MapThread:



                        MapThread[magicFunction, 6, 7, 2, 3, 1, 2, 9, 10, 5]



                        True, True, True







                        share|improve this answer











                        $endgroup$

















                          3














                          3










                          3







                          $begingroup$

                          You can use MapThread:



                          MapThread[magicFunction, 6, 7, 2, 3, 1, 2, 9, 10, 5]



                          True, True, True







                          share|improve this answer











                          $endgroup$



                          You can use MapThread:



                          MapThread[magicFunction, 6, 7, 2, 3, 1, 2, 9, 10, 5]



                          True, True, True








                          share|improve this answer














                          share|improve this answer



                          share|improve this answer








                          edited 7 hours ago

























                          answered 8 hours ago









                          kglrkglr

                          215k10 gold badges246 silver badges492 bronze badges




                          215k10 gold badges246 silver badges492 bronze badges























                              Mavatanet is a new contributor. Be nice, and check out our Code of Conduct.









                              draft saved

                              draft discarded


















                              Mavatanet is a new contributor. Be nice, and check out our Code of Conduct.












                              Mavatanet is a new contributor. Be nice, and check out our Code of Conduct.











                              Mavatanet is a new contributor. Be nice, and check out our Code of Conduct.














                              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%2f204741%2fusing-thread-to-map-a-two-variable-function%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

                              Invision Community Contents History See also References External links Navigation menuProprietaryinvisioncommunity.comIPS Community ForumsIPS Community Forumsthis blog entry"License Changes, IP.Board 3.4, and the Future""Interview -- Matt Mecham of Ibforums""CEO Invision Power Board, Matt Mecham Is a Liar, Thief!"IPB License Explanation 1.3, 1.3.1, 2.0, and 2.1ArchivedSecurity Fixes, Updates And Enhancements For IPB 1.3.1Archived"New Demo Accounts - Invision Power Services"the original"New Default Skin"the original"Invision Power Board 3.0.0 and Applications Released"the original"Archived copy"the original"Perpetual licenses being done away with""Release Notes - Invision Power Services""Introducing: IPS Community Suite 4!"Invision Community Release Notes

                              Canceling a color specificationRandomly assigning color to Graphics3D objects?Default color for Filling in Mathematica 9Coloring specific elements of sets with a prime modified order in an array plotHow to pick a color differing significantly from the colors already in a given color list?Detection of the text colorColor numbers based on their valueCan color schemes for use with ColorData include opacity specification?My dynamic color schemes

                              Ласкавець круглолистий Зміст Опис | Поширення | Галерея | Примітки | Посилання | Навігаційне меню58171138361-22960890446Bupleurum rotundifoliumEuro+Med PlantbasePlants of the World Online — Kew ScienceGermplasm Resources Information Network (GRIN)Ласкавецькн. VI : Літери Ком — Левиправивши або дописавши її