Oktonionų, kvaternionų ir kompleksinių skaičių vektorinis formatas ================================================================== NEFORMALUS APRAŠYMAS ==================== Duomenų sraute (hiper)kompleksiniai skaičiai (oktonionai, kvaternionai ar paprasti kompleksiniai skaičiai; toliau vadinami tiesiog h-skaičiais) atvaizduojami kaip realių skaičių vektoriai, faile su komentarais. Realūs skaičiai (h-skaičių komponentės) eilutėse atskiriami bet kokiu tarpų ar tabuliacijų skaičiumi. Kiekvienoje duomenų eilutėje gali būti vienas, du ar daugiau h-skaičių, priklausomai nuo to, kokia yra juos naudojančios programos semantika. Komentarai yra eilutės, kurių pirmas simbolis yra „#“. Tuščios eilutės leistinos ir turi būti ignoruojamos. LABIAU FORMALIZUOTAS APRAŠYMAS ============================== Tekste minimi simboliai interpretuotini taip: -- Tarpo simbolis: ' ' (ASCII dešimtainis kodas 32, šešioliktainis kodas 0x20, Unikodo simbolis U+0020); -- Tabuliacijos simbolis: HT (C kalbos seka "\t", ASCII dešimtainis kodas 9, šešioliktainis kodas 0x09, Unikodo simbolis U+0009); -- Grįžimo simbolis: CR, (C kalbos seka "\r", ASCII dešimtainis kodas 13, šešioliktainis kodas 0D, Unikodo simbolis U+000D); -- Numerio simbolis: '#' (ASCII dešimtainis kodas 35, šešioliktainis kodas 0x23, Unikodo simbolis U+0023); -- Tušti simboliai: tarpo, tabuliacijos arba grįžimo simboliai; -- Tušti skirtukai: tarpo arba tabuliacijos simboliai. H-skaičiai duomenų sraute pateikiami tokiu pavidalu: -- eilutės, kurių *pirmas simbolis* yra '#' (numerio simbolis, arba "grotelės") talpina komentarus; tokios eilutės turi būti ignoruojamos; -- tuščios eilutės, t.y. eilutės neturinčios nei vieno simbolio, arba tik tuščius simbolius (angl. "whitespace", t.y. tarpo, tabuliacijos arba "\r" simbolius) turi būti tyliai ignoruojamos; -- Prieš pirmąją duomenų eilutę duomenų sraute GALI būti nurodyta stulpelių pavadinimų eilutė, prasidedanti simboliais '#@', o toliau išvardinami h-skaičių vienetai, pvz.: #@ 1 i j k l il jl kl Kompleksinių skaičių menamajam vienetui naudojamas simbolis „i“; kvaternionų menamiesiems vienetams naudojami simboliai „i“, „j“ ir „k“ (su sąryšiais i * i = j * j = k * k = i * j * k = -1). Oktonionams naudojami simboliai „i“, „j“, „k“, „l“, „il“, „jl“, „kl“, su natūraliais sąryšiais i*l = il, il * i = l, i*j = -j*i ir t.t. (žr. oktonionų daugybos lentelę [2]). Jei duomenų sraute nurodomas ne vienas, o keli h-skaičiai, stulpelių antraštės pakartojamos reikiamą skaičių kartų; pvz. jei duomenyse kiekvienoje eilutėje nurodomi du oktonionai, stulpelių pavadinimų eilutė atrodys taip: #@ 1 i j k l il jl kl 1 i j k l il jl kl Stulpelių antraščių eilutės pradžioje yra simboliai „#@“ (be kabučių); po jų seka vienas ar daugiau tarpų arba tabuliacijos simbolių. -- visos kitos eilutės yra duomenų eilutės; kiekvienoje duomenų eilutėje yra N realių skaičių; N yra vaizduojamų h-skaičių erdvės matavimų skaičiaus n kartotinis (oktonionams n == 8, kvaternionams n == 4, o kompleksiniams skaičiams n == 2). Realūs skaičiai atskiriame bet kokiu kiekiu tuščių skirtukų (t.y. tarpų arba tabuliacijos simbolių). Visi eilutės pradžioje ar pabaigoje esantys tušti skirtukai turi būti ignoruojami. -- Realūs skaičiai yra teksto fragmentai (po eilutės suskaldymo per skirtukus), kurie atitinka PCRE [1] reguliarią išraišką: ^([-+]?(\d+\.?|\d*\.\d+)([Ee][-+]?\d+)?)$ Interpretacijai naudojama įprasta programavimo kalbų (pvz. Perl) realių skaičių semantika. NB: FORTRAN'o eksponentės skirtukas „D“ (e.g. 6.02D+23) *nenaudojamas*. Duomenų srauto pavyzdys: -- failo (srauto), turinčio po vieną oktonioną vienoje eilutėje, pavyzdys: # Pirma failo 'oktonionai.dat' eilutė; duomenys: #@ 1 i j k l il jl kl 1 2 3 4 5 6 7e7 8.0 -1 2 3 4 5 6 -111 4.0 # Paskutinė failo 'oktonionai.dat' eilutė. Kiekviena duomenų srauto eilutė -- tai oktoniono komponentės, surašytos viena paskui kitą, naudojant antraštėje pažymėtą menamųjų vienetų tvarką. -- failo (srauto), turinčio po tris kvaternionus vienoje eilutėje, pavyzdys: # Pirma failo 'kvaternionai3.dat' eilutė; duomenys: #@ 1 i j k 1 i j k 1 i j k 1 2 7e7 8.0 11.1 2 7e7 8.0 1 0 0 0 -1 2 -111 4.0 -12.0 2 -111 4.0 0 2 3 4 # Paskutinė failo 'kvaternionai3.dat' eilutė. Pastaba: skaitomumui pagerinti, tarp atskirų h-skaičių įvesti papildomi tarpai, o stulpelių antraštės papildomų tarpų pagalba išlygiuotos su stulpelių reikšmėmis. Šie papildomi tarpai nėra reikšminiai, programa turi skaityti duomenis, net jei tarpų nebūtų. ŠALTINIŲ NUORODOS ================= 1. Wikipedia (2020) Perl Compatible Regular Expressions. https://en.wikipedia.org/wiki/Perl_Compatible_Regular_Expressions [žiūrėta 2020-02-16 11:29:10 EET] 2. Wikipedia (2020) Алгебра Кэли. https://ru.wikipedia.org/wiki/Алгебра Кэли [žiūrėta 2020-02-16 11:29:10 EET]