(OT: https://en.wikipedia.org/wiki/Banach%E2%80%93Tarski_paradox#Obtaining_infinitely_many_balls_from_one
> Using the Banach–Tarski paradox, it is possible to obtain k copies of a ball in the Euclidean n-space from one, for any integers n ≥ 3 and k ≥ 1, i.e. a ball can be cut into k pieces so that each of them is equidecomposable to a ball of the same size as the original. ... in *Euclidean n-space*. https://en.wikipedia.org/wiki/Holographic_principle#Limit_on_information_density : > This suggests that matter itself cannot be subdivided infinitely many times and there must be an ultimate level of fundamental particles. As the degrees of freedom of a particle are the product of all the degrees of freedom of its sub-particles, were a particle to have infinite subdivisions into lower-level particles, the degrees of freedom of the original particle would be infinite, violating the maximal limit of entropy density. [Microscopic] black holes do deal with infinity in certain regards.) On Sun, Oct 11, 2020 at 10:40 PM Wes Turner <wes.tur...@gmail.com> wrote: > Thank you for the overview. It seems as though this community will also > look to IEEE-754 (the IEEE Standard for Floating-Point Arithmetic) for > Reals and also Infinity. > > Should Python raise exceptions for Integers or [Complex] Fractions > involving Infinity, > or should Python assume that IEEE-754 is the canonical source of truth > about infinity? > > IEEE-754 (2019), a closed standard, costs $100 for the PDF. I'll Ctrl-F > for 'infinity' in the Wikipedia article: > > https://en.wikipedia.org/wiki/IEEE_754 : > > Exception handling >> The standard defines five exceptions, each of which returns a default >> value and has a corresponding status flag that is raised when the exception >> occurs.[e] No other exception handling is required, but additional >> non-default alternatives are recommended (see § Alternate exception >> handling). >> The five possible exceptions are: >> - Invalid operation: mathematically undefined, e.g., the square root of a >> negative number. By default, returns qNaN. >> - Division by zero: an operation on finite operands gives an exact >> infinite result, e.g., 1/0 or log(0). By default, returns ±infinity. >> - Overflow: a result is too large to be represented correctly (i.e., its >> exponent with an unbounded exponent range would be larger than emax). By >> default, returns ±infinity for the round-to-nearest modes (and follows the >> rounding rules for the directed rounding modes). >> - Underflow: a result is very small (outside the normal range) and is >> inexact. By default, returns a subnormal or zero (following the rounding >> rules). >> Inexact: the exact (i.e., unrounded) result is not representable exactly. >> By default, returns the correctly rounded result. > > > It appears that IEEE-754 implemented as per the binary spec could not > represent more complex assessments of inifnity: > > As with IEEE 754-1985, the biased-exponent field is filled with all 1 bits >> to indicate either infinity (trailing significand field = 0) or a NaN >> (trailing significand field ≠ 0). For NaNs, quiet NaNs and signaling NaNs >> are distinguished by using the most significant bit of the trailing >> significand field exclusively,[d] and the payload is carried in the >> remaining bits. > > > json5 extends the JSON to support IEEE-754 +-inf (and +-0, which can also > be used to indicate 1D directionality sans magnitude). > > Presumably, in the IEEE-754 view of the world, > > from math import inf, nan > assert type(inf) == float > assert isinstance(inf, float) > assert float("inf") == inf > > assert inf / inf == nan > > assert inf / 0 == inf # currently: ZeroDivisionError > > assert (x/0) < ((x+1e-10)/0) # where x>0 (x in Z+) # Not possible; > Python is not a CAS > > > https://en.wikipedia.org/wiki/List_of_computer_algebra_systems doesn't > have a column for a "Surreal Numbers" or "non-Float handling of infinity". > > > https://en.wikipedia.org/wiki/Quantum_field_theory#Infinities_and_renormalization > deals with Infinities; which have curently been removed. > > inf**inf > > > > > On Sun, Oct 11, 2020 at 9:07 PM Steven D'Aprano <st...@pearwood.info> > wrote: > >> >> On Sun, Oct 11, 2020 at 05:47:44PM -0400, Wes Turner wrote: >> >> > No, 2 times something is greater than something. Something over >> something >> > is 1. >> >> Define "something". Define "times" (multiplication). Define "greater >> than". Define "over" (division). >> >> And while you are at it, don't forget to define what you mean by >> "infinity". Do you mean potential infinity, actual infinity, Absolute >> infinity, aleph and beth numbers, omegas, or something else? >> >> https://www.cut-the-knot.org/WhatIs/WhatIsInfinity.shtml >> >> I am not being facetious. Getting your definitions right is vital if you >> wish to avoid error, and to avoid miscommunication. Change the >> definitions, and you change the meaning of everything said. >> >> >> (1) In the so-called "real numbers", there is no such thing as infinity. >> Since there is no such thing as infinity, infinity is not "something" >> that can be multiplied or divided, or added or subtracted. In the Real >> number system, there is no coherent way of doing arithmetic on >> "infinity". "Two times infinity" is meaningless. >> >> In the real numbers, there's no sensible way of doing arithmetic with >> "infinity" without leading to contradiction. >> >> Informally, infinity in the Real number system is a process that never >> completes, so doing twice as much doesn't take any longer. >> >> >> (2) Mathematicians have created at least two extensions to the Real >> number line which do include at least one infinity. It is possible to >> construct a coherent system that is not self-contradictory by including >> either a pair of plus and minus infinity, or just a single unsigned >> infinity: >> >> https://en.wikipedia.org/wiki/Extended_real_number_line >> >> https://en.wikipedia.org/wiki/Projectively_extended_real_line >> >> But in doing so, we have to give up certain "common sense" properties of >> finite numbers. For example, with only a single infinity, infinity is >> both greater than everything, and less than (more negative) than >> everything. We lose a coherent definition of "greater than". >> >> Even in the extended number lines, two times infinity is just infinity, >> and infinity divided by infinity is not coherent and cannot be defined >> in any sensible way. >> >> The IEEE-754 standard, and consequently Python floats, closely models >> the extended real number line. >> >> >> (3) In the *cardinal numbers*, there is something called infinity. Or >> rather, there are an *infinite number* of infinities, starting with the >> smallest, aleph-0, which represents the cardinality of the integers, >> i.e. what people usually mean when they think of infinity. >> >> Even in the cardinal numbers, two times infinity (aleph-0) is just >> aleph-0; however you might be pleased to know that two to the power of >> aleph-0 is aleph-1. >> >> Arithmetic with infinite cardinal numbers is strange. >> >> https://en.wikipedia.org/wiki/Hilbert's_paradox_of_the_Grand_Hotel >> >> >> (4) In other extensions of the real numbers, such as hyperreal and >> surreal numbers, we can work with various different kinds of >> infinities (and infinitesimals). >> >> For example, in the surreal numbers, we can do arithmetic on infinities, >> and you will be gratified, I am sure, that twice infinity is different >> from plain old infinity. In the language of the surreals: >> >> 2ω = ω + ω ≠ ω >> >> (That's an omega symbol, not ∞.) >> >> Unfortunately, the surreals are very different from the commonsense >> world of the real numbers we know and love. For starters, they form a >> tree, not a line. You cannot reach ω by starting at 0 and adding 1 >> repeatedly. (ω is not the successor of any ordinal number.) Consequently >> there are other infinite numbers like ω-1 that are less than infinity >> but cannot be reached by counting upwards from zero but only by counting >> down from infinity. >> >> And of course, in the surreal numbers, there are an infinity of >> ever-growing infinities: not just ω+1 and 2ω but ω^2 and ω^ω and so on, >> all of which are "bigger than infinity". >> >> https://en.wikipedia.org/wiki/Surreal_number >> >> All very fascinating I am sure, but I don't think that we should be >> trying to emulate the surreal numbers as part of float. >> >> >> >> -- >> Steve >> _______________________________________________ >> Python-ideas mailing list -- python-ideas@python.org >> To unsubscribe send an email to python-ideas-le...@python.org >> https://mail.python.org/mailman3/lists/python-ideas.python.org/ >> Message archived at >> https://mail.python.org/archives/list/python-ideas@python.org/message/MI4HG64LQGJ5TZYIOVNYNZKYVTEUHND4/ >> Code of Conduct: http://python.org/psf/codeofconduct/ >> >
_______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/K3BND2BZA7N36MEYWLUS4QI4HQZUK2TV/ Code of Conduct: http://python.org/psf/codeofconduct/