Седенионы и 15-значная логика

         Седенионы и 15-значная логика
        Традиционно седенионами называют 15-мерное векторное пространство, на котором определена таблица векторного умножения единичных векторов. Однако на самом деле седенион - это объект теории множеств, реализующий комбинаторику заполнения квадратной таблицы 16х16 клеточками 1х1 "из пятнадцати разных цветов, чтобы в каждой строке и каждом столбце каждый цвет встречался только один раз". Эта формулировка определяет "систему из 16 взаимно однозначных отображений шестнадцати чисел: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F на себя", поэтому первое, что приходит в голову, что - это логическая связка XOR. Действительно, отображение
                x XOR y = z
 удовлетворяет требуемым свойствам

   0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
   0001 0000 0011 0010 0101 0100 0111 0110 1001 1000 1011 1010 1101 1100 1111 1110
   0010 0011 0000 0001 0110 0111 0100 0101 1010 1011 1000 1001 1110 1111 1100 1101
   0011 0010 0001 0000 0111 0110 0101 0100 1011 1010 1001 1000 1111 1110 1101 1100
   0100 0101 0110 0111 0000 0001 0010 0011 1100 1101 1110 1111 1000 1001 1010 1011
   0101 0100 0111 0110 0001 0000 0011 0010 1101 1100 1111 1110 1001 1000 1011 1010
   0110 0111 0100 0101 0010 0011 0000 0001 1110 1111 1100 1101 1010 1011 1000 1001
   0111 0110 0101 0100 0011 0010 0001 0000 1111 1110 1101 1100 1011 1010 1001 1000
   1000 1001 1010 1011 1100 1101 1110 1111 0000 0001 0010 0011 0100 0101 0110 0111
   1001 1000 1011 1010 1101 1100 1111 1110 0001 0000 0011 0010 0101 0100 0111 0110
   1010 1011 1000 1001 1110 1111 1100 1101 0010 0011 0000 0001 0110 0111 0100 0101
   1011 1010 1001 1000 1111 1110 1101 1100 0011 0010 0001 0000 0111 0110 0101 0100
   1100 1101 1110 1111 1000 1001 1010 1011 0100 0101 0110 0111 0000 0001 0010 0011
   1101 1100 1111 1110 1001 1000 1011 1010 0101 0101 0111 0110 0001 0000 0011 0010
   1110 1111 1100 1101 1010 1011 1000 1001 0110 0111 0101 0101 0010 0011 0000 0001
   1111 1110 1101 1100 1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001 0000

        Но это же безумие: переводить шестнадцать чисел в двоичный вид, чтобы потом вычислить 256 бинарных операций XOR, а потом обратно перевести найденные значения в шестнадцатеричный код

   0 1 2 3 4 5 6 7 8 9 A B C D E F
   1 0 3 2 5 4 7 6 9 8 B A D C F E
   2 3 0 1 6 7 4 5 A B 8 9 E F C D
   3 2 1 0 7 6 5 4 B A 9 8 F E D C
   4 5 6 7 0 1 2 3 C D E F 8 9 A B
   5 4 7 6 1 0 3 2 D C F E 9 8 B A
   6 7 4 5 2 3 0 1 E F C D A B 8 9
   7 5 5 4 3 2 1 0 F E D C B A 9 8
   8 9 A B C D E F 0 1 2 3 4 5 6 7
   9 8 B A D C F E 1 0 3 2 5 4 7 6
   A B 8 9 E F C D 2 3 0 1 6 7 4 5
   B A 9 8 F E D C 3 2 1 0 7 6 5 4
   C D E F 8 9 A B 4 5 6 7 0 1 2 3
   D C F E 9 8 B A 5 4 7 6 1 0 3 2
   E F C D A B 8 9 6 7 4 5 2 3 0 1
   F E D C B A 9 8 7 6 5 4 3 2 1 0

 а далее ещё и со знаками разбираться... Поймите меня правильно!!! Это не высшая математика! Это даже не бином Ньютона, это - элементарная задача теории множеств типа кубика Рубика, только значительно проще. Для любых 16 объектов (в общем случае для "два в степени эн"): чисел, предметов, солдат, депутатов можно составить эту таблицу. Вот как это делается по шагам:

   0 1 2 3 4 5 6 7 8 9 A B C D E F   0 1 2 3 4 5 6 7 8 9 A B C D E F   0 1 2 3 4 5 6 7 8 9 A B C D E F
   1 0 _ _ _ _ _ 6 9 _ _ _ _ _ F _      1 0 _ 2 5 _ 7 6 9 8 _ _ _ _ F _       1 0 3 2 5 4 7 6 9 8 B A D C F E
   2 _ 0 _ _ _ _ 5 A _ _ _ _ F _ _     2 _ 0 1 6 7 _ 5 A _ 8 _ _ F _ _       2 3 0 1 6 7 4 5 A B 8 9 E F C D
   3 _ _ 0 _ _ _ 4 B _ _ _ F _ _ _     3 2 1 0 7 6 5 4 B _ _ 8 F _ _ _       3 2 1 0 7 6 5 4 B A 9 8 F E D C
   4 _ _ _ 0 _ _ 3 C _ _ F _ _ _ _     4 5 6 7 0 1 2 3 C _ _ F 8 _ _ _       4 5 6 7 0 1 2 3 C D E F 8 9 A B
   5 _ _ _ _ 0 _ 2 D _ F _ _ _ _ _     5 _ 7 6 1 0 _ 2 D _ F _ _ 8 _ _       5 4 7 6 1 0 3 2 D C F E 9 8 B A
   6 _ _ _ _ _ 0 1 E F _ _ _ _ _ _     6 7 _ 5 2 _ 0 1 E F _ _ _ _ 8 _       6 7 4 5 2 3 0 1 E F C D A B 8 9
   7 6 5 4 3 2 1 0 F E D C B A 9 8   7 5 5 4 3 2 1 0 F E D C B A 9 8    7 5 5 4 3 2 1 0 F E D C B A 9 8
   8 9 A B C D E F 0 1 2 3 4 5 6 7   8 9 A B C D E F 0 1 2 3 4 5 6 7    8 9 A B C D E F 0 1 2 3 4 5 6 7
   9 _ _ _ _ _ F E 1 0 _ _ _ _ _ _     9 8 _ _ _ _ F E 1 0 _ _ _ _ 7 _        9 8 B A D C F E 1 0 3 2 5 4 7 6
   A _ _ _ _ F _ D 2 _ 0 _ _ _ _ _    A _ 8 _ _ F _ D 2 _ 0 _ _ 7 _ _       A B 8 9 E F C D 2 3 0 1 6 7 4 5
   B _ _ _ F _ _ C 3 _ _ 0 _ _ _ _    B _ _ 8 F _ _ C 3 _ _ 0 7 _ _ _       B A 9 8 F E D C 3 2 1 0 7 6 5 4
   C _ _ F _ _ _ B 4 _ _ _ 0 _ _ _    C _ _ F 8 _ _ B 4 _ _ 7 0 _ _ _       C D E F 8 9 A B 4 5 6 7 0 1 2 3
   D _ F _ _ _ _ A 5 _ _ _ _ 0 _ _    D _ F _ _ 8 _ A 5 _ 7 _ _ 0 _ _       D C F E 9 8 B A 5 4 7 6 1 0 3 2
   E F _ _ _ _ _ 9 6 _ _ _ _ _ 0 _    E F _ _ _ _ 8 9 6 7 _ _ _ _ 0 _         E F C D A B 8 9 6 7 4 5 2 3 0 1
   F _ _ _ _ _ _ 8 7 _ _ _ _ _ _ 0     F _ _ _ _ _ _ 8 7 _ _ _ _ _ _ 0         F E D C B A 9 8 7 6 5 4 3 2 1 0

 На первом шаге на листе в клеточку записывается "таблица 16 имён, в которой заполняются две диагонали: главная - "нулями" и вспомогательная - последним именем. От "нуля" точки пересечения диагоналей записывается вниз первый столбец: 1, 2, 3 и т.д. По достижении нижней границы таблицы оставшиеся буквы записываются сверху вниз в тот же самый столбец. Затем, от того же самого нуля заполняется строка, таким же точно образом. После этого переходим ко второму "нулю" и проделываем то же самое.
        Результат. Таблица оказалась разбитой на 4 такие же точно таблицы меньшего размера, с которыми мы поступаем точно так же (проводим диагонали и начинаем заполнять). Я заполнил "крестом" левый верхний угол (незаполненными остались только диагонали из троек и четвёрок). Слева полностью заполненная таблица.
        Осталось разобраться со знаками. Я два года бился над этой проблемой, но свою "Эврику" не упустил! Основная идея была осознана с самого начала - вариантов заполнения таблицы XOR без знака излишне много, значит, следует выделить из них какой-то один, при котором знаки, расставленные только по краям, позволяют правильно заполнить знаками всю таблицу! И я его "увидел"...
        Таблицу логической связки "XOR без знаков" можно заполнять многими способами. Можно каждый конец креста заполнять отдельно. Например, заполняя столбец от нуля вверх, доходим верхней границы таблицы, а там следующее число "7" уже записано, а рядом  с ним - следующее за ним "8" уже тоже записано поэтому от "8" спускаемся вниз до "F" ( верхний луч креста заполнен). Вот эта излишняя свобода заполнения стала основной подсказкой. От этих вольностей надо избавляться!
        Окончательное решение пришло неожиданно и я Вам его сообщаю. На первом шаге рисуется таблица

   +0 +1 +2  +3 +4  +5 +6  +7 +8  +9 +A  +B +C  +D +E +F
   +1 –0 ––  –– ––  –– ––  –– ––  –– ––  –– ––  ––  F +E
   +2 –– –0  –– ––  –– ––  –– ––  –– ––  –– ––   F –– –D
   +3 –– ––  –0 ––  –– ––  –– ––  –– ––  ––  F  –– –– +C
   +4 –– ––  –– –0  –– ––  –– ––  –– ––   F ––  –– –– –B
   +5 –– ––  –– ––  –0 ––  –– ––  ––  F  –– ––  –– –– +A
   +6 –– ––  –– ––  –– –0  –– ––  F  ––  –– ––  –– –– –9
   +7 –– ––  –– ––  –– ––  –0  F  –– ––  –– ––  –– –– +8
   +8 –– ––  –– ––  –– ––   F –0  –– ––  –– ––  –– –– –7
   +9 –– ––  –– ––  –– F   –– ––  –0 ––  –– ––  –– –– +6
   +A –– ––  –– ––  F ––   –– ––  –– –0  –– ––  –– –– –5
   +B –– ––  –– F   –– ––  –– ––  –– ––  –0 ––  –– –– +4
   +C –– ––   F ––  –– ––  –– ––  –– ––  –– –0  –– –– –3
   +D ––  F  –– ––  –– ––  –– ––  –– ––  –– ––  –0 –– +2
   +E  F ––  –– ––  –– ––  –– ––  –– ––  –– ––  –– –0 –1
   +F –E +D  –C +B  –A +9  –8 +7  –6 +5  –4 +3  –2 +1 –0

         В последнем столбце знаки расставляются, как Вам заблагорассудится (как бы вы их ни расставили, получится один из изоморфных седенионов).
         Правило первое. Таблица заполняется только столбцами. Строки получаются отражением столбца от главной диагонали таблицы со сменой знака на противоположный, поэтому отражаем последний столбец от главной диагонали и получаем последнюю строку таблицы умножения.
         Правило второе. Таблица делится вертикалью на две равные части и сначала заполняется последний столбец левой половины, а затем первый столбец правой половины.
        "+7" является верхним элементом столбца, которым заканчивается левая половина таблицы умножения, поэтому он заполняется последним столбцом. Начиная с "-0" заполняем его последним столбцом с низу вверх до границы "+7", далее продолжаем заполнение с противоположного конца того же самого столбца со сменой знака на противоположный (проверяем не пропущены ли какие-либо элементы последнего столбца столбца). Отражаем его от главной диагонали со сменой знака на противоположный. Заполняем первый столбец правой половины от "-0" вниз до "+7" и далее сверху от "+8* до "F".

   +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F   +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
   +1  –0  __ __  __ __  __ +6  __ __  __ __  __ __  F +E      +1  –0  __ __  __ __  __+6 –9  __ __  __ __ __ F  +E
   +2 __  –0   __ __  __ __  –5  __ __  __ __  __ F __  –D      +2 __  –0   __ __ __ __ –5  –A  __ __ __ __ F __  –D
   +3 __ __    –0  __   __ __ +4   __ __   __ __  F __  __ +C      +3 __ __  –0  __ __ __+4 –B  __ __ __ F __ __ +C
   +4 __  __  __ –0   __ __  –3   __  __  __ F __  __  __  –B      +4 __ __ __  –0  __ __–3 –C  __ __ F _ _ __ __ –B
   +5 __ __  __  __   –0  __ +2   __  __ F  __  __  __  __ +A      +5 __ __ __ __  –0  __+2 –D  __ F __ __ __ __ +A
   +6 __ __  __  __  __  –0    –1   __ F __  __  __ __ __ –9      +6 __ __  __ __ __  –0  –1 –E  F __ __  __ __  __ -9
   +7  __ __  __ __  __ __   –0   F __  __  __ __  __  __ +8      +7 –6 +5 –4 +3 –2 +1 –0 +F +E –D +C –B +A –9 +8
   +8 __ __  __ __  __ __   –F  –0 __ __  __ __  __ __ –7         +8 __ __  __ __  __ __ –F  –0 __  __ __ __ __ __–7
   +9 __ __  __ _ _ __ F   –E __  –0  __  __ __  __ __ +6         +9 __ __ __ __ __ F   –E +1  –0  __ __ __ __ __+6
   +A __ __  __ __ F __  +D  __  __ –0  __  __ __  __ –5        +A __ __ __ __ F __  +D +2 __  –0  __ __ __ __ –5
   +B __ __  __ F __ __   –C __ __  __ –0  __ __  __ +4         +B __ __ __ F __ __   –C +3 __ __  –0  __ __ __ +4
   +C __ __  F __ __  __   +B __ __  __ __ –0  __  __ –3        +C __ __ F __ __ __  +B +4 __ __ __ –0  __ __ -3
   +D __ F  __ __  __ __  –A  __ __  __ __  __ –0  __ +2       +D __ F __ __ __ __  –A +5 __ __ __ __ –0  __ +2
   +E  F __ __  __ __  __  +9 __ __  __ __  __ __  –0  –1         +E   F __ __ __ __ __  +9 +6 __ __ __ __ __-0  –1
   +F –E +D –C +B –A +9 –8 +7 –6 +5 –4 +3 –2 +1  –0  +F  –E +D  –C +B  –A +9  –8 +7  –6 +5  –4 +3  –2 +1  –0

        Отражаем заполненный столбец от главной диагонали со сменой знака на противоположный
   +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
   +1 -0  __ __ __ __ __+6 -9  __ __ __ __ __ F +E
   +2 __ -0  __ __ __ __-5 -A  __ __ __ __ F __ -D
   +3 __ __ -0  __ __ __+4 -B  __ __ __ F __ __ +C
   +4 __ __ __ -0  __ __-3 -C  __ __ F __ __ __ -B
   +5 __ __ __ __ -0  __+2 -D  __ F __ __ __ __ +A
   +6 __ __ __ __ __ -0 -1 -E  F __ __ __ __ __ -9
   +7 –6 +5 –4 +3 –2 +1 –0 +F +E –D +C –B +A –9 +8
   +8 +9 +A +B +C +D +E –F –0 –1 –2 –3 –4 –5 –6 –7
   +9 __ __ __ __ __ F  -E +1 -0  __ __ __ __ __+6
   +A __ __ __ __ F __  +D +2 __ -0  __ __ __ __-5
   +B __ __ __ F __ __  -C +3 __ __-0  __ __ __ +4
   +C __ __ F __ __ __  +B +4 __ __ __-0  __ __ -3
   +D __ F __ __ __ __  -A +5 __ __ __ __-0  __ +2
   +E F __ __ __ __ __  +9 +6 __ __ __ __ __-0  -1
   +F –E +D –C +B –A +9 –8 +7 –6 +5 –4 +3 –2 +1 -0

         Заполнение седениона свелось к четырём частично заполненным таблицам умножения октонионов. Ввиду того, что заполнение октониона тем же самым алгоритмом сводится к заполнению четырёх кватернионов, заполним рамку умножения кватернионов. Шаг первый заполняем второй столбец последним столбцом.

   +1 +i +j +k      +1 -i +j +k      +1 +i +j +k
   +i -0 __ +j       +i -0 __ +j      +i -0 +k +j
   +j __ -0 -i       +j  -k  -0 -i      +j  -k  -0 -i
   +k -j +i -0      +k  -j +i  -0      +k  -j +i  -0


         Затем исправляем первую строку и отражаем элементы заполненного столбца от главной диагонали. Всё!

        И в заключение о знаках. Мы же можем переставлять столбы и строки. Если мы переставим одну пару столбцов и ту же самую пару строк, то таблица умножения сохранит и смысл и форму, хотя знаки в последней строке и последнем столбце будут переставлены. Значит алгебра тут зашита не в знаках, а в механизме заполнения. А в основе механизма заполнения зашита логическая связка XOR, а это XOR-алгебры или, говоря иными словами, - многозначные логики.


Рецензии