← Back to context

Comment by thaumasiotes

16 hours ago

Have you gone through The Little Schemer?

More on topic:

> No comparable primitive has been known for continuous mathematics: computing elementary functions such as sin, cos, sqrt, and log has always required multiple distinct operations.

I was taught that these were all hypergeometric functions. What distinction is being drawn here?

Hypergeometric functions are functions with 4 parameters.

When you have a function with many parameters it becomes rather trivial to express simpler functions with it.

You could find a lot of functions with 4 parameters that can express all elementary functions.

Finding a binary operation that can do this, like in TFA, is far more difficult, which is why it has not been done before.

A function with 4 parameters can actually express not only any elementary function, but an infinity of functions with 3 parameters, e.g. by using the 4th parameter to encode an identifier for the function that must be computed.

  • > Hypergeometric functions are functions with 4 parameters.

    Granted, but the claim in the abstract says:

    >> computing elementary functions such as sin, cos, sqrt, and log has always required multiple distinct operations

    And I don't see how this is true as to hypergeometric functions in a way that isn't shared by the approach in the paper.

    > Finding a binary operation that can do this, like in TFA, is far more difficult, which is why it has not been done before.

    > A function with 4 parameters can actually express not only any elementary function, but an infinity of functions with 3 parameters, e.g. by using the 4th parameter to encode an identifier for the function that must be computed.

    These statements seem to be in direct conflict with each other; you can use the second parameter of a binary function to identify a unary function just as you can use the fourth parameter of a quaternary function to identify a trinary one.

    • There is an essential difference between binary functions and unary functions.

      With binary functions you can compose them using a very complex composition graph.

      With unary functions you can compose them only linearly, so in general it is impossible to make a binary function with unary functions.

      You can make binary functions from unary functions only by using at least one other binary function. For instance, you can make multiplication from squaring, but only with the help of binary addition/subtraction.

      So the one function that can be used to generate the others by composition must be at least binary, in order to be able to generate functions with an arbitrary number of parameters.

      This is why in mathematics there are many domains where the only required primitives are a small number of binary functions, but there is none where strictly unary functions are sufficient. (However, it may be possible to restrict the binary functions to very simple functions, e.g. making a tuple from components, for instance the CONS function of LISP I.)

      4 replies →