Why does (inf + 0j)*1 evaluate to inf + nanj?What does ** (double star/asterisk) and * (star/asterisk) do for parameters?What does the “yield” keyword do?Does Python have a ternary conditional operator?What does if __name__ == “__main__”: do?Python join: why is it string.join(list) instead of list.join(string)?What is the rationale for all comparisons returning false for IEEE754 NaN values?Does Python have a string 'contains' substring method?Why is reading lines from stdin much slower in C++ than Python?Why is “1000000000000000 in range(1000000000000001)” so fast in Python 3?

Can an integer optimization problem be convex?

Is "ln" (natural log) and "log" the same thing if used in this answer?

How to deal with my team leader who keeps calling me about project updates even though I am on leave for personal reasons?

Is it more effective to add yeast before or after kneading?

On the meaning of 'anyways' in "What Exactly Is a Quartz Crystal, Anyways?"

Why weren't the Death Star plans transmitted electronically?

Magneto 2 How to call Helper function in observer file

What is the need of methods like GET and POST in the HTTP protocol?

2000s Animated TV show where teenagers could physically go into a virtual world

Do we have any particular tonal center in mind when we are NOT listening music?

How do I deal with too many NPCs in my campaign?

What is the size of a set of sets of the empty set , , ?

Extruding snaps back

Writing a letter of recommendation for a mediocre student

Why does (inf + 0j)*1 evaluate to inf + nanj?

What do you do if you have developments on your paper during the long peer review process?

Co-Supervisor comes to office to help her students which distracts me

Order of ingredients when making Pizza dough

When is it acceptable to write a bad letter of recommendation?

Are lawyers allowed to come to agreements with opposing lawyers without the client's knowledge or consent?

What can a pilot do if an air traffic controller is incapacitated?

Examples of "unsuccessful" theories with afterlives

What benefits does the Power Word Kill spell have?

I reverse the source code, you negate the input!



Why does (inf + 0j)*1 evaluate to inf + nanj?


What does ** (double star/asterisk) and * (star/asterisk) do for parameters?What does the “yield” keyword do?Does Python have a ternary conditional operator?What does if __name__ == “__main__”: do?Python join: why is it string.join(list) instead of list.join(string)?What is the rationale for all comparisons returning false for IEEE754 NaN values?Does Python have a string 'contains' substring method?Why is reading lines from stdin much slower in C++ than Python?Why is “1000000000000000 in range(1000000000000001)” so fast in Python 3?






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








15















>>> from numpy import inf, nan
>>> z = (inf+0j)*1
(inf+nanj)


Why? This caused a nasty bug in my code.



Why isn't 1 the multiplicative identity, giving (inf + 0j)?










share|improve this question
































    15















    >>> from numpy import inf, nan
    >>> z = (inf+0j)*1
    (inf+nanj)


    Why? This caused a nasty bug in my code.



    Why isn't 1 the multiplicative identity, giving (inf + 0j)?










    share|improve this question




























      15












      15








      15


      4






      >>> from numpy import inf, nan
      >>> z = (inf+0j)*1
      (inf+nanj)


      Why? This caused a nasty bug in my code.



      Why isn't 1 the multiplicative identity, giving (inf + 0j)?










      share|improve this question
















      >>> from numpy import inf, nan
      >>> z = (inf+0j)*1
      (inf+nanj)


      Why? This caused a nasty bug in my code.



      Why isn't 1 the multiplicative identity, giving (inf + 0j)?







      python numpy nan ieee-754






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 11 mins ago









      Peter Cordes

      158k23 gold badges254 silver badges406 bronze badges




      158k23 gold badges254 silver badges406 bronze badges










      asked 10 hours ago









      marnixmarnix

      1076 bronze badges




      1076 bronze badges

























          2 Answers
          2






          active

          oldest

          votes


















          19
















          The 1 is converted to a complex number first, 1 + 0j, which then leads to an inf * 0 multiplication, resulting in a nan.



          (inf + 0j) * 1
          (inf + 0j) * (1 + 0j)
          inf * 1 + inf * 0j + 0j * 1 + 0j * 0j
          # ^ this is where it comes from
          inf + nan j + 0j + 0
          inf + nan j





          share|improve this answer






















          • 3





            For answering the question "why...?", probably the important most step is the first one, where 1 is cast to 1 + 0j.

            – Warren Weckesser
            10 hours ago



















          -2
















          To find the "true" reason---as opposed to the purely mechanical reason given in the accepted answer---one probably has to start with something like https://math.stackexchange.com/q/628947




          A previous version of the question title was worded "Why is (inf + 0j)*1 == inf + nanj?"



          That is not in fact the case because nan == nan is false:



          from math import inf
          (inf+0j)*1==complex("inf+nanj")
          # False





          share|improve this answer






















          • 1





            Yeah, because nan != nan. I understand that this answer is half-joking, but I fail to see why it should be helpful to the OP the way it's written.

            – cmaster
            2 hours ago











          • Why don't you heros take a step back and ask yourselves why you seem uncapable of venting your righteous indignation without patronizing the OP? And if---one may hope---you come to conclude it is yourself who do not follow, there is no shame in asking.

            – Paul Panzer
            20 mins ago











          • Given that the code in the question body wasn't actually using == (and given they accepted the other answer), it seems it was just a problem of how the OP expressed the title. I reworded the title to fix that inconsistency. (Intentionally invaliding the first half of this answer because I agree with @cmaster: that isn't what this question was asking about).

            – Peter Cordes
            8 mins ago











          • Is there a multiplicative identity for complex numbers that does work on inf + 0j?

            – Peter Cordes
            4 mins ago













          Your Answer






          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "1"
          ;
          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: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          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/4.0/"u003ecc by-sa 4.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%2fstackoverflow.com%2fquestions%2f58031966%2fwhy-does-inf-0j1-evaluate-to-inf-nanj%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









          19
















          The 1 is converted to a complex number first, 1 + 0j, which then leads to an inf * 0 multiplication, resulting in a nan.



          (inf + 0j) * 1
          (inf + 0j) * (1 + 0j)
          inf * 1 + inf * 0j + 0j * 1 + 0j * 0j
          # ^ this is where it comes from
          inf + nan j + 0j + 0
          inf + nan j





          share|improve this answer






















          • 3





            For answering the question "why...?", probably the important most step is the first one, where 1 is cast to 1 + 0j.

            – Warren Weckesser
            10 hours ago
















          19
















          The 1 is converted to a complex number first, 1 + 0j, which then leads to an inf * 0 multiplication, resulting in a nan.



          (inf + 0j) * 1
          (inf + 0j) * (1 + 0j)
          inf * 1 + inf * 0j + 0j * 1 + 0j * 0j
          # ^ this is where it comes from
          inf + nan j + 0j + 0
          inf + nan j





          share|improve this answer






















          • 3





            For answering the question "why...?", probably the important most step is the first one, where 1 is cast to 1 + 0j.

            – Warren Weckesser
            10 hours ago














          19














          19










          19









          The 1 is converted to a complex number first, 1 + 0j, which then leads to an inf * 0 multiplication, resulting in a nan.



          (inf + 0j) * 1
          (inf + 0j) * (1 + 0j)
          inf * 1 + inf * 0j + 0j * 1 + 0j * 0j
          # ^ this is where it comes from
          inf + nan j + 0j + 0
          inf + nan j





          share|improve this answer















          The 1 is converted to a complex number first, 1 + 0j, which then leads to an inf * 0 multiplication, resulting in a nan.



          (inf + 0j) * 1
          (inf + 0j) * (1 + 0j)
          inf * 1 + inf * 0j + 0j * 1 + 0j * 0j
          # ^ this is where it comes from
          inf + nan j + 0j + 0
          inf + nan j






          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited 10 hours ago









          Engineero

          7,3543 gold badges26 silver badges52 bronze badges




          7,3543 gold badges26 silver badges52 bronze badges










          answered 10 hours ago









          MaratMarat

          4,9671 gold badge20 silver badges34 bronze badges




          4,9671 gold badge20 silver badges34 bronze badges










          • 3





            For answering the question "why...?", probably the important most step is the first one, where 1 is cast to 1 + 0j.

            – Warren Weckesser
            10 hours ago













          • 3





            For answering the question "why...?", probably the important most step is the first one, where 1 is cast to 1 + 0j.

            – Warren Weckesser
            10 hours ago








          3




          3





          For answering the question "why...?", probably the important most step is the first one, where 1 is cast to 1 + 0j.

          – Warren Weckesser
          10 hours ago






          For answering the question "why...?", probably the important most step is the first one, where 1 is cast to 1 + 0j.

          – Warren Weckesser
          10 hours ago














          -2
















          To find the "true" reason---as opposed to the purely mechanical reason given in the accepted answer---one probably has to start with something like https://math.stackexchange.com/q/628947




          A previous version of the question title was worded "Why is (inf + 0j)*1 == inf + nanj?"



          That is not in fact the case because nan == nan is false:



          from math import inf
          (inf+0j)*1==complex("inf+nanj")
          # False





          share|improve this answer






















          • 1





            Yeah, because nan != nan. I understand that this answer is half-joking, but I fail to see why it should be helpful to the OP the way it's written.

            – cmaster
            2 hours ago











          • Why don't you heros take a step back and ask yourselves why you seem uncapable of venting your righteous indignation without patronizing the OP? And if---one may hope---you come to conclude it is yourself who do not follow, there is no shame in asking.

            – Paul Panzer
            20 mins ago











          • Given that the code in the question body wasn't actually using == (and given they accepted the other answer), it seems it was just a problem of how the OP expressed the title. I reworded the title to fix that inconsistency. (Intentionally invaliding the first half of this answer because I agree with @cmaster: that isn't what this question was asking about).

            – Peter Cordes
            8 mins ago











          • Is there a multiplicative identity for complex numbers that does work on inf + 0j?

            – Peter Cordes
            4 mins ago















          -2
















          To find the "true" reason---as opposed to the purely mechanical reason given in the accepted answer---one probably has to start with something like https://math.stackexchange.com/q/628947




          A previous version of the question title was worded "Why is (inf + 0j)*1 == inf + nanj?"



          That is not in fact the case because nan == nan is false:



          from math import inf
          (inf+0j)*1==complex("inf+nanj")
          # False





          share|improve this answer






















          • 1





            Yeah, because nan != nan. I understand that this answer is half-joking, but I fail to see why it should be helpful to the OP the way it's written.

            – cmaster
            2 hours ago











          • Why don't you heros take a step back and ask yourselves why you seem uncapable of venting your righteous indignation without patronizing the OP? And if---one may hope---you come to conclude it is yourself who do not follow, there is no shame in asking.

            – Paul Panzer
            20 mins ago











          • Given that the code in the question body wasn't actually using == (and given they accepted the other answer), it seems it was just a problem of how the OP expressed the title. I reworded the title to fix that inconsistency. (Intentionally invaliding the first half of this answer because I agree with @cmaster: that isn't what this question was asking about).

            – Peter Cordes
            8 mins ago











          • Is there a multiplicative identity for complex numbers that does work on inf + 0j?

            – Peter Cordes
            4 mins ago













          -2














          -2










          -2









          To find the "true" reason---as opposed to the purely mechanical reason given in the accepted answer---one probably has to start with something like https://math.stackexchange.com/q/628947




          A previous version of the question title was worded "Why is (inf + 0j)*1 == inf + nanj?"



          That is not in fact the case because nan == nan is false:



          from math import inf
          (inf+0j)*1==complex("inf+nanj")
          # False





          share|improve this answer















          To find the "true" reason---as opposed to the purely mechanical reason given in the accepted answer---one probably has to start with something like https://math.stackexchange.com/q/628947




          A previous version of the question title was worded "Why is (inf + 0j)*1 == inf + nanj?"



          That is not in fact the case because nan == nan is false:



          from math import inf
          (inf+0j)*1==complex("inf+nanj")
          # False






          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited 6 mins ago









          Peter Cordes

          158k23 gold badges254 silver badges406 bronze badges




          158k23 gold badges254 silver badges406 bronze badges










          answered 9 hours ago









          Paul PanzerPaul Panzer

          35.6k2 gold badges23 silver badges54 bronze badges




          35.6k2 gold badges23 silver badges54 bronze badges










          • 1





            Yeah, because nan != nan. I understand that this answer is half-joking, but I fail to see why it should be helpful to the OP the way it's written.

            – cmaster
            2 hours ago











          • Why don't you heros take a step back and ask yourselves why you seem uncapable of venting your righteous indignation without patronizing the OP? And if---one may hope---you come to conclude it is yourself who do not follow, there is no shame in asking.

            – Paul Panzer
            20 mins ago











          • Given that the code in the question body wasn't actually using == (and given they accepted the other answer), it seems it was just a problem of how the OP expressed the title. I reworded the title to fix that inconsistency. (Intentionally invaliding the first half of this answer because I agree with @cmaster: that isn't what this question was asking about).

            – Peter Cordes
            8 mins ago











          • Is there a multiplicative identity for complex numbers that does work on inf + 0j?

            – Peter Cordes
            4 mins ago












          • 1





            Yeah, because nan != nan. I understand that this answer is half-joking, but I fail to see why it should be helpful to the OP the way it's written.

            – cmaster
            2 hours ago











          • Why don't you heros take a step back and ask yourselves why you seem uncapable of venting your righteous indignation without patronizing the OP? And if---one may hope---you come to conclude it is yourself who do not follow, there is no shame in asking.

            – Paul Panzer
            20 mins ago











          • Given that the code in the question body wasn't actually using == (and given they accepted the other answer), it seems it was just a problem of how the OP expressed the title. I reworded the title to fix that inconsistency. (Intentionally invaliding the first half of this answer because I agree with @cmaster: that isn't what this question was asking about).

            – Peter Cordes
            8 mins ago











          • Is there a multiplicative identity for complex numbers that does work on inf + 0j?

            – Peter Cordes
            4 mins ago







          1




          1





          Yeah, because nan != nan. I understand that this answer is half-joking, but I fail to see why it should be helpful to the OP the way it's written.

          – cmaster
          2 hours ago





          Yeah, because nan != nan. I understand that this answer is half-joking, but I fail to see why it should be helpful to the OP the way it's written.

          – cmaster
          2 hours ago













          Why don't you heros take a step back and ask yourselves why you seem uncapable of venting your righteous indignation without patronizing the OP? And if---one may hope---you come to conclude it is yourself who do not follow, there is no shame in asking.

          – Paul Panzer
          20 mins ago





          Why don't you heros take a step back and ask yourselves why you seem uncapable of venting your righteous indignation without patronizing the OP? And if---one may hope---you come to conclude it is yourself who do not follow, there is no shame in asking.

          – Paul Panzer
          20 mins ago













          Given that the code in the question body wasn't actually using == (and given they accepted the other answer), it seems it was just a problem of how the OP expressed the title. I reworded the title to fix that inconsistency. (Intentionally invaliding the first half of this answer because I agree with @cmaster: that isn't what this question was asking about).

          – Peter Cordes
          8 mins ago





          Given that the code in the question body wasn't actually using == (and given they accepted the other answer), it seems it was just a problem of how the OP expressed the title. I reworded the title to fix that inconsistency. (Intentionally invaliding the first half of this answer because I agree with @cmaster: that isn't what this question was asking about).

          – Peter Cordes
          8 mins ago













          Is there a multiplicative identity for complex numbers that does work on inf + 0j?

          – Peter Cordes
          4 mins ago





          Is there a multiplicative identity for complex numbers that does work on inf + 0j?

          – Peter Cordes
          4 mins ago


















          draft saved

          draft discarded















































          Thanks for contributing an answer to Stack Overflow!


          • 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.

          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%2fstackoverflow.com%2fquestions%2f58031966%2fwhy-does-inf-0j1-evaluate-to-inf-nanj%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 : Літери Ком — Левиправивши або дописавши її