Non fungible numbers

Multiplication and addition that is no longer commutative

YAML Kategorija

Imagine a world where added numbers are identical but not equivalent.

So 4 apples + 3 oranges = 4 apples then 3 oranges

This is identical to 7 but not equivalent.

I am thinking of potential use in government accounting and algebraic programming with numbers.

Rather than all taxes going into a single taxable account and then spread out to different funding initiatives, you track the income of each area and track the costs of each taxraising and each funding. So roads should be self funding.

When I have a configuration for a web server I want to add to it a particular behaviour and have it slot into the right place automatically. So the data structure is a polynomial and I add a polynomial confifuration that "fits" the shape of the polynomial that is already there.

Usually in Kubernetes configuration there is few places that can accept my configuration fragment. I should be capable of "adding" to a particular YAML key. There is only small subset where it is valid. The polynomials aren't compatible except for certain areas.


Nėra sub-kategorijų.

Balsas (nebūtinas) (nesiųsti pranešimų) (nebūtinas)
Prašome prisijungti.

Na, galite rasti arba sugalvoti daug skaičių žiedų, kurie yra nekomutaciniai, daugybos arba sudėties, arba abiejų. Ir kodėl tik daugyba ir sudėtis? Turime daug operatorių. Matricų žiedas yra nekomutacinis dauginant ir pan.

Taigi, manau, tai nėra naujas dalykas, išskyrus įvardijimą. Kodėl žodis „pakeičiamas“ reiškia „komutacinį“? Tiesą sakant, taip apibrėžiate lygybės ženklą "=", bitkoine 1 BTC neturėtų būti lygus kitam 1 BTC dėl skaičiavimo sudėtingumo arba energijos, reikalingos jam išgauti (arba kiekvienam sudedamajam blokui, kuris sudaro tą 1 BTC), tačiau „lygybė“, apibrėžta bitkoino kodu, dirbtinai paverčia juos „lygiaverčiais“. Tiesą sakant, pagrindinėje tikrovėje galbūt niekas nėra identiška, o lygybės konstruojamos kaip proceso kilpos (t. y. programos, kurios apverčia kitas programas, formuoja būsenų kilpas arba ekvivalentiškumo klases. /wiki/Equivalence_class) pagal operacijas).

Turiu omenyje tai, kad procesai dažnai yra nekomutaciniai, todėl su jais tenka susidoroti ieškant kelių būsenų erdvėse (tarkime, kad mašinos ar debesies infrastruktūros būsenos erdvė ne visada gali būti grįžtama atliekant tą pačią operaciją, bet taikomos skirtingos operacijos ar operatoriai jiems (=programoms) reikia pritaikyti, kad pasiektų tą pačią būseną atgal arba pirmyn), kad būtų galima grįžti ir grįžti į pradinę būseną.

Be natūralių įvykių, taip pat galite nustatyti pridėjimo reikšmę aksiomatiškai pasirinkdami žiedo savybes. Pavyzdžiui, jei apibrėžiame „sudėtį“ kaip skaitmenų, o ne skaičių sudėjimą, gauname, kad daugyba ir sudėtis nėra komutacinės:

4 3 = "43", o tai nėra tas pats, kas 3 4 = "34"

4 * 3 = "3333", kuris nėra lygus 3 * 4 = "444"

Galiausiai, skaičiai yra skaičiavimo įrankiai, o įrankiai yra pragmatiški – sakyčiau taip – ​​eikite į priekį, kur patogu, kurkite naujas skaičių sistemas.

Well, you can find or come up with many rings of numbers, that are non-commutative, either under multiplication, or addition, or both. And, why just multiplication and addition? We have lots of operators. Ring of matrices are non-commutative under multiplication, etc.

So, I guess this is not a new thing, except for naming. Why use the word "fungible" for "commutative"? In reality, it's how you define the equality sign "=", in bitcoin, 1 BTC should not be equal to another 1 BTC under computational complexity or energy needed to mine it (or each constituent block making up that 1 BTC), but the "equality" defined by bitcoin code artificially makes them be "equal". In fact, at the base reality, perhaps nothing is really identical, and equalities get constructed as process loops (i.e., programs, that reverse other programs, forming state loops, or equivalence classes under operations).

I mean, processes are often non-commutative, so you have to deal with them by searching paths in state spaces (let's say a state space of a machine or cloud infrastructure can not always be reversible by the same operation but different operations or operators applied to them (=programs) need to be applied to reach the same state backward vs forward) to go and come back to the original state.

Apart from natural occurrences, you can also set the meaning of addition by choosing ring properties axiomatically. For example, if we define "addition" as adding up numerals, rather than numbers, we get that multiplication and addition are not commutative:

4 + 3 = "43", which is not the same as 3 + 4 = "34"

4 * 3 = "3333", which is not equal 3 * 4 = "444"

Ultimately, numbers are tools of computation, and tools are pragmatic in nature -- I'd say yes -- go forward, define new number systems, where it is convenient.