3 ms·
This is also a mathematical tool you can use every time you're making maths. If you have two bijective set, and you have some functions in only one of those set
by ttoinou 3y ago
This is also a mathematical tool you can use every time you're making maths. If you have two bijective set, and you have some functions in only one of those sets, you first transform the set with the bijective function, operate in the second set, retransform back with the reverse of the bijective function, given X and Y spaces g(X)=f_to_g( f( Y = g_to_f( X ) ) )
For example you can have operations in a normalized space. You first normalize your data, operate in it, then rescale your result back to the original space. For example you want to apply square root to a normalized variable (if you don't normalize, you don't know if the function will increase or decrease your variable, between 0 and 1 square root always increases the value). If you know your max is N, you should no N.sqrt(X/N). This might seem obvious to you ? But what if you had f(x)=cos(pi.x^3.5) instead of f=sqrt.. ? Also, operating in a normalized space you can chain your functions. Yeah, just like chaining functions in functional programming. (Using dot . to multiply because of HN formatting)
You know how to do an arithmetic mean / average in maths ? Well, if you chain that with a change of space with the power functions, you'll get all others means (minimum, maximum, harmonic mean, quadratic, even the geometric mean using exp and log !). Now if you prove something in your normal arithmetic mean, you might be able to apply this easily in your new mean that you created by chaining a bijective change of space. See Generalized mean https://en.wikipedia.org/wiki/Generalized_mean https://en.wikipedia.org/wiki/Generalized_mean
In physics you can remove the units and work only with dimensionless quantities https://en.wikipedia.org/wiki/List_of_dimensionless_quantities https://en.wikipedia.org/wiki/List_of_dimensionless_quantiti... and operate with them and only get back to real physics units when you need to "get back to the real world"
In color theory, you might want to rotate the hue ? Create a bijection between RGB and a new colorspace that has hue like HSL or HSV (or more complex if you're ready to fight with more maths), RotateHueRGB(colorRGB,hue)=HSVtoRGB( RGBtoHSV( colorRGB ) + (hue,0,0) )
I could go on an on for weeks about this technique. It is fundamental to me to learning and understanding Science, no idea why so few people are talking about this.
I didn't learn this thanks to him so I can't 100% confirm the information I didn't read the book yet, but I remember some french maths popularizer / youtuber who called that "The Umbrella Principle" and wrote a book about it ("Le théorème du parapluie" Mickaël Launay - Micmaths channel on YouTube https://www.youtube.com/channel/UC4PasDd25MXqlXBogBw9CAg https://www.youtube.com/channel/UC4PasDd25MXqlXBogBw9CAg ). Umbrella because you're getting your umbrella out (first layer of the bread), walk under the rain without getting wet (the meat), then close your umbrella (final layer of bread).
Enjoy ! Let me know what others applications you find ;)
- corethree 3y agoThis concept you're describing is formalized in mathematics. In category theory it is called a functor. In haskell it is an actual language primitive also called a functor. Note that a functor, however, is more broad. The relationship between the two "subjects" does not necessarily need to be bijective. It can be one way. There are conversions to new spaces with no direct way to convert back the the original entity in the old space. Quaternions and euler angles are an example of this one way conversion where there are multiple possibilities from euler to quat. What's being talked about here is very different from the concept you describe although they are both part of functional programming.
- hansvm 3y agoIt's also useful if your transformations aren't bijective. A lot of hyperreal proofs look like (a) Push your real-valued problem to the hyperreals, (b) Prove something interesting, and (c) push some subset/transformation of that interesting thing back down to the reals. As a very concrete example (eliding details for obvious reasons), to prove Kőnig's lemma you can (0) Start with a connected, infinite, locally finite graph, (a) Embed that infinite graph in any properly nonstandard extension thereof, (b) Use the transfer principle to find an infinite "hyper" path (no longer a path because it's indexed by the hypernaturals), and (c) Project that back to a standard path in the subgraph induced by restricting to the original infinite graph. That is precisely the infinite path you were looking for. Not that Kőnig's lemma is hard to prove with standard techniques per se, but it illustrates the point.