Гиперкомплексная обработка сигналов: преобразование Фурье и алгебра оптических операций через октонионы
В современной цифровой обработке сигналов преобразование Фурье является фундаментальным инструментом. Но что если мы хотим анализировать не просто одномерные аудиосигналы или двумерные изображения, а сложные многомерные данные, где каждый элемент содержит информацию о цвете, поляризации, пространственных координатах и других параметрах? Причем нам может потребоваться изменять все параметры сигнала связанным, физически допустимым образом.
Здесь на помощь приходят октонионы - 8-мерные гиперкомплексные числа, позволяющие компактно представлять и анализировать такие сложные данные.
Октонионы (или октавы) - это расширение комплексных чисел и кватернионов. В отличие от кватернионов, которые имеют 4 компоненты, октонионы имеют 8 компонент и обладают свойством неассоциативности. В Julia мы можем работать с ними с помощью пакета Octonions.jl
.
Создадим анализируемый сигнал
Рассмотрим реализацию октонионного преобразования Фурье для обработки многомерных сигналов.
В отличие от обычного вектора, октонион (8-мерное гиперкомплексное число) может компактно кодировать:
-
Поляризацию (2 компоненты — линейная и круговая),
-
Цвет (3 компоненты — RGB или спектральные характеристики),
-
Фазовую информацию (1 компонента),
-
Пространственные координаты (2 компоненты — например, угол падения и глубину).
Такое представление сохраняет взаимосвязи между параметрами, которые теряются при раздельном анализе (представление в виде векторов).
Out[0]:
create_octonion_signal (generic function with 1 method)
Октонионы здесь работают как «контейнеры», сохраняющие естественные соотношения между физическими параметрами света, что критично для точного анализа и обработки.
Но если разложить все октонионы на 8 скалярных компонент, то мы получим такую матрицу:
Октонионное преобразование Фурье
Дальше реализуем два метода - прямое и обратное преобразование Фурье для октонионов.
Out[0]:
octonion_ifft (generic function with 1 method)
Теперь передадим в наши преобразования вектор из 256 октонионов, проведем преобразование в частотную область и обратно и посмотрим, какая ошибка у нас наберется от этих операций.
Ошибка восстановления: 1.0066063624566364e-14
При обратном преобразовании Фурье (ifft
) мы работаем с комплексным спектром сигнала, но итоговый восстановленный сигнал должен быть вещественным (поскольку исходные данные — это физические измерения, такие как интенсивность света или амплитуда волны).
Такой подход может быть полезен для:
-
Обработки цветных изображений с дополнительными характеристиками (глубина, поляризация)
-
Анализа многомерных физических данных (например, метеорологических измерений)
-
Сжатия сложных сигналов с сохранением взаимосвязей между компонентами
Примеры сигналов для анализа могут включать информацию со следующих устройств:
-
Поляризационная камера — данные о распределении поляризации света в сцене, где каждый пиксель содержит информацию об угле и эллиптичности поляризации.
-
Гиперспектральные изображения — сотни спектральных каналов, которые можно сжать до 8 ключевых компонент.
-
Лидарные данные — расстояние, интенсивность и поляризация отраженного сигнала для автономных автомобилей.
-
Голография — амплитуда и фаза световой волны, восстанавливающей 3D-объект.
Применение октонионов в оптике
Октонионы — это не просто 8D-векторы, а алгебраическая структура с некоммутативным и неассоциативным умножением. В оптике это позволяет:
-
Кодировать взаимозависимые параметры
Например, поляризация (линейная/круговая) математически связана с фазой и направлением распространения волны. В векторном представлении эти связи теряются, а в октонионной алгебре сохраняются через правила умножения базисных единиц e₁...e₇
.
-
Учитывать нелинейные эффекты
Умножение октонионов автоматически моделирует:
-
Вращение плоскости поляризации в кристаллах
-
Фазовые сдвиги при преломлении
-
Взаимодействие спектральных компонент
-
Сжимать представление
8D-октонион компактнее тензорного описания тех же параметров (например, матриц Джонса-Мюллера для поляризации + отдельно RGB + фаза).
При желании можно создать алгебру оптических операций, базирующуюся на октонионах, имеющею все обозначенные выше преимущества.
Следующая программа показывает, как применение поляризации к пучку света с круговой поляризацией меняет сразу амплитуду, фазу и поляризацию входного сигнала.
OctonionF64(0.0, -0.5, 3.061616997868383e-17, 0.5, 0.0, 0.0, 0.0, 0.0)
Октонионы дают естественное представление оптических полей именно благодаря своей алгебраической структуре. В отличие от векторов, они:
-
Запрещают физически невозможные операции (например, независимое изменение фазы и поляризации)
-
Сокращают вычислительную сложность — одна октонионная операция заменяет серию матричных преобразований
-
Сохранют геометрические инварианты автоматически, без ручной проверки условий.
Хотя октонионное преобразование Фурье требует больше вычислений, чем классическое, оно открывает новые возможности для анализа сложных многомерных данных. В будущем, с развитием квантовых вычислений и специализированных процессоров, такие методы могут стать стандартным инструментом в обработке сигналов.
В оптике октонионы дают естественное представление оптических полей именно благодаря своей алгебраической структуре.
Julia с ее производительностью и удобством работы с абстрактными типами данных идеально подходит для экспериментов с гиперкомплексными числами и разработки новых алгоритмов на их основе.
{"id": "ea1c0c6e-9bd2-47c0-89f0-7273451ad215", "data": [{"showlegend": false, "xaxis": "x", "colorbar": {"y": 0.513888888888889, "title": {"text": ""}, "len": 0.9525371828521435, "x": 0.7504228638086905}, "name": "y1", "colorscale": [[0, "rgba(0, 0, 4, 1.000)"], [0.00392156862745098, "rgba(1, 0, 5, 1.000)"], [0.00784313725490196, "rgba(1, 1, 6, 1.000)"], [0.011764705882352941, "rgba(1, 1, 8, 1.000)"], [0.01568627450980392, "rgba(2, 1, 10, 1.000)"], [0.0196078431372549, "rgba(2, 2, 12, 1.000)"], [0.023529411764705882, "rgba(2, 2, 14, 1.000)"], [0.027450980392156862, "rgba(3, 2, 16, 1.000)"], [0.03137254901960784, "rgba(4, 3, 18, 1.000)"], [0.03529411764705882, "rgba(4, 3, 20, 1.000)"], [0.0392156862745098, "rgba(5, 4, 23, 1.000)"], [0.043137254901960784, "rgba(6, 4, 25, 1.000)"], [0.047058823529411764, "rgba(7, 5, 27, 1.000)"], [0.050980392156862744, "rgba(8, 5, 29, 1.000)"], [0.054901960784313725, "rgba(9, 6, 31, 1.000)"], [0.058823529411764705, "rgba(10, 7, 34, 1.000)"], [0.06274509803921569, "rgba(11, 7, 36, 1.000)"], [0.06666666666666667, "rgba(12, 8, 38, 1.000)"], [0.07058823529411765, "rgba(13, 8, 41, 1.000)"], [0.07450980392156863, "rgba(14, 9, 43, 1.000)"], [0.0784313725490196, "rgba(16, 9, 45, 1.000)"], [0.08235294117647059, "rgba(17, 10, 48, 1.000)"], [0.08627450980392157, "rgba(18, 10, 50, 1.000)"], [0.09019607843137255, "rgba(20, 11, 52, 1.000)"], [0.09411764705882353, "rgba(21, 11, 55, 1.000)"], [0.09803921568627451, "rgba(22, 11, 57, 1.000)"], [0.10196078431372549, "rgba(24, 12, 60, 1.000)"], [0.10588235294117647, "rgba(25, 12, 62, 1.000)"], [0.10980392156862745, "rgba(27, 12, 65, 1.000)"], [0.11372549019607843, "rgba(28, 12, 67, 1.000)"], [0.11764705882352941, "rgba(30, 12, 69, 1.000)"], [0.12156862745098039, "rgba(31, 12, 72, 1.000)"], [0.12549019607843137, "rgba(33, 12, 74, 1.000)"], [0.12941176470588237, "rgba(35, 12, 76, 1.000)"], [0.13333333333333333, "rgba(36, 12, 79, 1.000)"], [0.13725490196078433, "rgba(38, 12, 81, 1.000)"], [0.1411764705882353, "rgba(40, 11, 83, 1.000)"], [0.1450980392156863, "rgba(41, 11, 85, 1.000)"], [0.14901960784313725, "rgba(43, 11, 87, 1.000)"], [0.15294117647058825, "rgba(45, 11, 89, 1.000)"], [0.1568627450980392, "rgba(47, 10, 91, 1.000)"], [0.1607843137254902, "rgba(49, 10, 92, 1.000)"], [0.16470588235294117, "rgba(50, 10, 94, 1.000)"], [0.16862745098039217, "rgba(52, 10, 95, 1.000)"], [0.17254901960784313, "rgba(54, 9, 97, 1.000)"], [0.17647058823529413, "rgba(56, 9, 98, 1.000)"], [0.1803921568627451, "rgba(57, 9, 99, 1.000)"], [0.1843137254901961, "rgba(59, 9, 100, 1.000)"], [0.18823529411764706, "rgba(61, 9, 101, 1.000)"], [0.19215686274509805, "rgba(62, 9, 102, 1.000)"], [0.19607843137254902, "rgba(64, 10, 103, 1.000)"], [0.2, "rgba(66, 10, 104, 1.000)"], [0.20392156862745098, "rgba(68, 10, 104, 1.000)"], [0.20784313725490197, "rgba(69, 10, 105, 1.000)"], [0.21176470588235294, "rgba(71, 11, 106, 1.000)"], [0.21568627450980393, "rgba(73, 11, 106, 1.000)"], [0.2196078431372549, "rgba(74, 12, 107, 1.000)"], [0.2235294117647059, "rgba(76, 12, 107, 1.000)"], [0.22745098039215686, "rgba(77, 13, 108, 1.000)"], [0.23137254901960785, "rgba(79, 13, 108, 1.000)"], [0.23529411764705882, "rgba(81, 14, 108, 1.000)"], [0.23921568627450981, "rgba(82, 14, 109, 1.000)"], [0.24313725490196078, "rgba(84, 15, 109, 1.000)"], [0.24705882352941178, "rgba(85, 15, 109, 1.000)"], [0.25098039215686274, "rgba(87, 16, 110, 1.000)"], [0.2549019607843137, "rgba(89, 16, 110, 1.000)"], [0.25882352941176473, "rgba(90, 17, 110, 1.000)"], [0.2627450980392157, "rgba(92, 18, 110, 1.000)"], [0.26666666666666666, "rgba(93, 18, 110, 1.000)"], [0.27058823529411763, "rgba(95, 19, 110, 1.000)"], [0.27450980392156865, "rgba(97, 19, 110, 1.000)"], [0.2784313725490196, "rgba(98, 20, 110, 1.000)"], [0.2823529411764706, "rgba(100, 21, 110, 1.000)"], [0.28627450980392155, "rgba(101, 21, 110, 1.000)"], [0.2901960784313726, "rgba(103, 22, 110, 1.000)"], [0.29411764705882354, "rgba(105, 22, 110, 1.000)"], [0.2980392156862745, "rgba(106, 23, 110, 1.000)"], [0.30196078431372547, "rgba(108, 24, 110, 1.000)"], [0.3058823529411765, "rgba(109, 24, 110, 1.000)"], [0.30980392156862746, "rgba(111, 25, 110, 1.000)"], [0.3137254901960784, "rgba(113, 25, 110, 1.000)"], [0.3176470588235294, "rgba(114, 26, 110, 1.000)"], [0.3215686274509804, "rgba(116, 26, 110, 1.000)"], [0.3254901960784314, "rgba(117, 27, 110, 1.000)"], [0.32941176470588235, "rgba(119, 28, 109, 1.000)"], [0.3333333333333333, "rgba(120, 28, 109, 1.000)"], [0.33725490196078434, "rgba(122, 29, 109, 1.000)"], [0.3411764705882353, "rgba(124, 29, 109, 1.000)"], [0.34509803921568627, "rgba(125, 30, 109, 1.000)"], [0.34901960784313724, "rgba(127, 30, 108, 1.000)"], [0.35294117647058826, "rgba(128, 31, 108, 1.000)"], [0.3568627450980392, "rgba(130, 32, 108, 1.000)"], [0.3607843137254902, "rgba(132, 32, 107, 1.000)"], [0.36470588235294116, "rgba(133, 33, 107, 1.000)"], [0.3686274509803922, "rgba(135, 33, 107, 1.000)"], [0.37254901960784315, "rgba(136, 34, 106, 1.000)"], [0.3764705882352941, "rgba(138, 34, 106, 1.000)"], [0.3803921568627451, "rgba(140, 35, 105, 1.000)"], [0.3843137254901961, "rgba(141, 35, 105, 1.000)"], [0.38823529411764707, "rgba(143, 36, 105, 1.000)"], [0.39215686274509803, "rgba(144, 37, 104, 1.000)"], [0.396078431372549, "rgba(146, 37, 104, 1.000)"], [0.4, "rgba(147, 38, 103, 1.000)"], [0.403921568627451, "rgba(149, 38, 103, 1.000)"], [0.40784313725490196, "rgba(151, 39, 102, 1.000)"], [0.4117647058823529, "rgba(152, 39, 102, 1.000)"], [0.41568627450980394, "rgba(154, 40, 101, 1.000)"], [0.4196078431372549, "rgba(155, 41, 100, 1.000)"], [0.4235294117647059, "rgba(157, 41, 100, 1.000)"], [0.42745098039215684, "rgba(159, 42, 99, 1.000)"], [0.43137254901960786, "rgba(160, 42, 99, 1.000)"], [0.43529411764705883, "rgba(162, 43, 98, 1.000)"], [0.4392156862745098, "rgba(163, 44, 97, 1.000)"], [0.44313725490196076, "rgba(165, 44, 96, 1.000)"], [0.4470588235294118, "rgba(166, 45, 96, 1.000)"], [0.45098039215686275, "rgba(168, 46, 95, 1.000)"], [0.4549019607843137, "rgba(169, 46, 94, 1.000)"], [0.4588235294117647, "rgba(171, 47, 94, 1.000)"], [0.4627450980392157, "rgba(173, 48, 93, 1.000)"], [0.4666666666666667, "rgba(174, 48, 92, 1.000)"], [0.47058823529411764, "rgba(176, 49, 91, 1.000)"], [0.4745098039215686, "rgba(177, 50, 90, 1.000)"], [0.47843137254901963, "rgba(179, 50, 90, 1.000)"], [0.4823529411764706, "rgba(180, 51, 89, 1.000)"], [0.48627450980392156, "rgba(182, 52, 88, 1.000)"], [0.49019607843137253, "rgba(183, 53, 87, 1.000)"], [0.49411764705882355, "rgba(185, 53, 86, 1.000)"], [0.4980392156862745, "rgba(186, 54, 85, 1.000)"], [0.5019607843137255, "rgba(188, 55, 84, 1.000)"], [0.5058823529411764, "rgba(189, 56, 83, 1.000)"], [0.5098039215686274, "rgba(191, 57, 82, 1.000)"], [0.5137254901960784, "rgba(192, 58, 81, 1.000)"], [0.5176470588235295, "rgba(193, 58, 80, 1.000)"], [0.5215686274509804, "rgba(195, 59, 79, 1.000)"], [0.5254901960784314, "rgba(196, 60, 78, 1.000)"], [0.5294117647058824, "rgba(198, 61, 77, 1.000)"], [0.5333333333333333, "rgba(199, 62, 76, 1.000)"], [0.5372549019607843, "rgba(200, 63, 75, 1.000)"], [0.5411764705882353, "rgba(202, 64, 74, 1.000)"], [0.5450980392156862, "rgba(203, 65, 73, 1.000)"], [0.5490196078431373, "rgba(204, 66, 72, 1.000)"], [0.5529411764705883, "rgba(206, 67, 71, 1.000)"], [0.5568627450980392, "rgba(207, 68, 70, 1.000)"], [0.5607843137254902, "rgba(208, 69, 69, 1.000)"], [0.5647058823529412, "rgba(210, 70, 68, 1.000)"], [0.5686274509803921, "rgba(211, 71, 67, 1.000)"], [0.5725490196078431, "rgba(212, 72, 66, 1.000)"], [0.5764705882352941, "rgba(213, 74, 65, 1.000)"], [0.5803921568627451, "rgba(215, 75, 63, 1.000)"], [0.5843137254901961, "rgba(216, 76, 62, 1.000)"], [0.5882352941176471, "rgba(217, 77, 61, 1.000)"], [0.592156862745098, "rgba(218, 78, 60, 1.000)"], [0.596078431372549, "rgba(219, 80, 59, 1.000)"], [0.6, "rgba(221, 81, 58, 1.000)"], [0.6039215686274509, "rgba(222, 82, 56, 1.000)"], [0.6078431372549019, "rgba(223, 83, 55, 1.000)"], [0.611764705882353, "rgba(224, 85, 54, 1.000)"], [0.615686274509804, "rgba(225, 86, 53, 1.000)"], [0.6196078431372549, "rgba(226, 87, 52, 1.000)"], [0.6235294117647059, "rgba(227, 89, 51, 1.000)"], [0.6274509803921569, "rgba(228, 90, 49, 1.000)"], [0.6313725490196078, "rgba(229, 92, 48, 1.000)"], [0.6352941176470588, "rgba(230, 93, 47, 1.000)"], [0.6392156862745098, "rgba(231, 94, 46, 1.000)"], [0.6431372549019608, "rgba(232, 96, 45, 1.000)"], [0.6470588235294118, "rgba(233, 97, 43, 1.000)"], [0.6509803921568628, "rgba(234, 99, 42, 1.000)"], [0.6549019607843137, "rgba(235, 100, 41, 1.000)"], [0.6588235294117647, "rgba(235, 102, 40, 1.000)"], [0.6627450980392157, "rgba(236, 103, 38, 1.000)"], [0.6666666666666666, "rgba(237, 105, 37, 1.000)"], [0.6705882352941176, "rgba(238, 106, 36, 1.000)"], [0.6745098039215687, "rgba(239, 108, 35, 1.000)"], [0.6784313725490196, "rgba(239, 110, 33, 1.000)"], [0.6823529411764706, "rgba(240, 111, 32, 1.000)"], [0.6862745098039216, "rgba(241, 113, 31, 1.000)"], [0.6901960784313725, "rgba(241, 115, 29, 1.000)"], [0.6941176470588235, "rgba(242, 116, 28, 1.000)"], [0.6980392156862745, "rgba(243, 118, 27, 1.000)"], [0.7019607843137254, "rgba(243, 120, 25, 1.000)"], [0.7058823529411765, "rgba(244, 121, 24, 1.000)"], [0.7098039215686275, "rgba(245, 123, 23, 1.000)"], [0.7137254901960784, "rgba(245, 125, 21, 1.000)"], [0.7176470588235294, "rgba(246, 126, 20, 1.000)"], [0.7215686274509804, "rgba(246, 128, 19, 1.000)"], [0.7254901960784313, "rgba(247, 130, 18, 1.000)"], [0.7294117647058823, "rgba(247, 132, 16, 1.000)"], [0.7333333333333333, "rgba(248, 133, 15, 1.000)"], [0.7372549019607844, "rgba(248, 135, 14, 1.000)"], [0.7411764705882353, "rgba(248, 137, 12, 1.000)"], [0.7450980392156863, "rgba(249, 139, 11, 1.000)"], [0.7490196078431373, "rgba(249, 140, 10, 1.000)"], [0.7529411764705882, "rgba(249, 142, 9, 1.000)"], [0.7568627450980392, "rgba(250, 144, 8, 1.000)"], [0.7607843137254902, "rgba(250, 146, 7, 1.000)"], [0.7647058823529411, "rgba(250, 148, 7, 1.000)"], [0.7686274509803922, "rgba(251, 150, 6, 1.000)"], [0.7725490196078432, "rgba(251, 151, 6, 1.000)"], [0.7764705882352941, "rgba(251, 153, 6, 1.000)"], [0.7803921568627451, "rgba(251, 155, 6, 1.000)"], [0.7843137254901961, "rgba(251, 157, 7, 1.000)"], [0.788235294117647, "rgba(252, 159, 7, 1.000)"], [0.792156862745098, "rgba(252, 161, 8, 1.000)"], [0.796078431372549, "rgba(252, 163, 9, 1.000)"], [0.8, "rgba(252, 165, 10, 1.000)"], [0.803921568627451, "rgba(252, 166, 12, 1.000)"], [0.807843137254902, "rgba(252, 168, 13, 1.000)"], [0.8117647058823529, "rgba(252, 170, 15, 1.000)"], [0.8156862745098039, "rgba(252, 172, 17, 1.000)"], [0.8196078431372549, "rgba(252, 174, 18, 1.000)"], [0.8235294117647058, "rgba(252, 176, 20, 1.000)"], [0.8274509803921568, "rgba(252, 178, 22, 1.000)"], [0.8313725490196079, "rgba(252, 180, 24, 1.000)"], [0.8352941176470589, "rgba(251, 182, 26, 1.000)"], [0.8392156862745098, "rgba(251, 184, 29, 1.000)"], [0.8431372549019608, "rgba(251, 186, 31, 1.000)"], [0.8470588235294118, "rgba(251, 188, 33, 1.000)"], [0.8509803921568627, "rgba(251, 190, 35, 1.000)"], [0.8549019607843137, "rgba(250, 192, 38, 1.000)"], [0.8588235294117647, "rgba(250, 194, 40, 1.000)"], [0.8627450980392157, "rgba(250, 196, 42, 1.000)"], [0.8666666666666667, "rgba(250, 198, 45, 1.000)"], [0.8705882352941177, "rgba(249, 199, 47, 1.000)"], [0.8745098039215686, "rgba(249, 201, 50, 1.000)"], [0.8784313725490196, "rgba(249, 203, 53, 1.000)"], [0.8823529411764706, "rgba(248, 205, 55, 1.000)"], [0.8862745098039215, "rgba(248, 207, 58, 1.000)"], [0.8901960784313725, "rgba(247, 209, 61, 1.000)"], [0.8941176470588236, "rgba(247, 211, 64, 1.000)"], [0.8980392156862745, "rgba(246, 213, 67, 1.000)"], [0.9019607843137255, "rgba(246, 215, 70, 1.000)"], [0.9058823529411765, "rgba(245, 217, 73, 1.000)"], [0.9098039215686274, "rgba(245, 219, 76, 1.000)"], [0.9137254901960784, "rgba(244, 221, 79, 1.000)"], [0.9176470588235294, "rgba(244, 223, 83, 1.000)"], [0.9215686274509803, "rgba(244, 225, 86, 1.000)"], [0.9254901960784314, "rgba(243, 227, 90, 1.000)"], [0.9294117647058824, "rgba(243, 229, 93, 1.000)"], [0.9333333333333333, "rgba(242, 230, 97, 1.000)"], [0.9372549019607843, "rgba(242, 232, 101, 1.000)"], [0.9411764705882353, "rgba(242, 234, 105, 1.000)"], [0.9450980392156862, "rgba(241, 236, 109, 1.000)"], [0.9490196078431372, "rgba(241, 237, 113, 1.000)"], [0.9529411764705882, "rgba(241, 239, 117, 1.000)"], [0.9568627450980393, "rgba(241, 241, 121, 1.000)"], [0.9607843137254902, "rgba(242, 242, 125, 1.000)"], [0.9647058823529412, "rgba(242, 244, 130, 1.000)"], [0.9686274509803922, "rgba(243, 245, 134, 1.000)"], [0.9725490196078431, "rgba(243, 246, 138, 1.000)"], [0.9764705882352941, "rgba(244, 248, 142, 1.000)"], [0.9803921568627451, "rgba(245, 249, 146, 1.000)"], [0.984313725490196, "rgba(246, 250, 150, 1.000)"], [0.9882352941176471, "rgba(248, 251, 154, 1.000)"], [0.9921568627450981, "rgba(249, 252, 157, 1.000)"], [0.996078431372549, "rgba(250, 253, 161, 1.000)"], [1, "rgba(252, 255, 164, 1.000)"]], "yaxis": "y", "zmin": -2.9478671467639055, "z": [[-0.4312298261403617, 2.279263927564123, 0.6811652925078263, 0.706590079846101, 0.35409965703485924, 0.05362219383188314, 1.0038386512108861, 0.4083366162477918, -1.9096076712945877, 0.24032863544407287, 0.34014268302439765, 0.004824966880038227, 0.14773257354267794, -0.4527858714907558, -0.6279371166719706, -0.5125793108181925, 1.0013256012648848, 0.3862719080250332, 0.23711243058675938, 0.9680225388655088, 0.3037071926840986, -0.12082262030325594, -0.3952004822566594, -1.096382665426215, -0.7888661246657713, 0.4955444575250308, 0.5303663202629343, 2.9426992522321656, -0.8558890110890516, 1.2713016081179127, 1.1248242440629534, 0.2930595638129652, -0.03679434705228121, -0.40545369006389587, 0.6788103967825362, -0.019225970219459168, -0.10337071142150782, 0.31891839741906164, -0.019066322537357634, -0.6856509059038887, 0.6807017839914734, -0.6342574988053947, -0.1401956587712546, -0.6907934543490598, 0.3027858312630822, 0.2737781953532537, -0.26064629683278406, -2.196085995236936, -0.7801025668888402, -0.2722927057426186, -1.3688283278195144, 1.2938691055784437, -1.0639547126307973, 1.3497878905241578, 0.15605902929967064, 0.275673386618099, 1.0859798954049757, 1.3422843794623054, -0.20222070591102428, 0.8283952094187123, 0.03360160176176884, 1.2586705151556647, -0.03050099206757162, -0.5881079111247313, -0.582564802248968, 1.763102143726708, 0.6183414806602696, -1.3618235203630968, -0.6258093776514648, 1.3432261514537298, 0.13474487477562636, -1.7164481003356578, 1.4696948485210406, 0.6421870741138124, -0.7154217597490928, 0.4494874673707225, -0.09165277174985324, 0.8255108766645737, 0.21949595587433401, -0.749215781597815, -0.40764176846087363, -1.4922264588832157, 0.0857828919828069, 0.3921520725755366, 1.0289056685530482, -1.4992785666713828, -0.6991798452217312, 0.5599485911988671, -1.4876143116286922, -0.31041165584632746, 0.8491343412154984, -0.550954848188536, 0.687284515876432, 0.06964687926532266, 0.10749954695861566, -0.403889095948312, -0.4624887465582682, -0.37734731204210603, 0.4066432727383065, 0.44188633125858917], [-0.671101769367425, -0.609665147388364, 2.348755301260199, 0.34600375765570374, 0.7725014178947904, 1.6838122873685606, -0.529033364962437, -0.11112699105041364, -0.7713501074925894, -0.5208302984174821, 1.0048126326523135, 0.7284906183137677, 0.8143942963359481, 0.07152810197070418, -1.4928600944726962, 0.889520439147911, 0.4665559173767273, 1.665183050576246, -0.311879550572091, 0.08009883563638172, 1.5235011757660264, -0.4674849215185852, 1.877330933961306, -0.026201853902819566, 1.5806699937679844, 0.8666583606508517, 0.6710102433550658, 0.46778534691754464, 0.4710295454877692, 0.6715884975992552, 0.11393107456523502, -1.740086317207509, 2.197232713283027, 0.47882961950420705, -2.311263258090754, -1.7874554127605746, 0.9233841722451562, -0.26395940791713274, 1.8344357518828054, -0.03672863094366978, -1.4927038345312593, 0.9687371337028506, 2.205990598220823, 0.2596742069600551, -0.05651106212648584, -1.0099912245166272, 0.6080007836318356, 0.3693790448419849, -1.468715244267073, -0.5318856561925914, -1.3458614671489737, 0.10564489780177339, -0.9467868608246867, 0.35528352805592417, -0.23831515505197076, -1.789279144107444, 0.1802347235205065, 0.02026506848298301, -1.212924619361355, -0.9865020153541043, 0.6682516617801573, -0.9938434657602878, -1.6311794806787536, 1.2647724958545934, 0.34761895312661345, -0.9129235052918485, -1.5320876722073102, 0.3829354910909337, -0.6201098052746201, -1.8581552267317918, -0.5975724032219326, -0.31197167057180597, 1.3980886395190333, 1.2459989607169464, 1.5391448377657393, 1.2834066959269563, 0.5738677443927401, -0.32525850277319696, -0.21447451738276782, 1.4601147147255005, -0.20970303854267824, -0.7588952414758956, -0.17138542939039583, 2.559335565007047, 1.197246604426028, 0.45843026932723063, 1.0608835465713284, 0.4171321332015995, -0.12251685302085061, 1.1420397826315227, -0.4778163154804107, 0.6931488588221484, -2.317844810958666, -0.10721646072464738, 0.32756359186613204, 0.5648912942425223, 0.33962643586614216, -1.3152657703068524, -0.41991230700005117, -0.5375774536087536], [-0.05300656759122777, -0.34329615605085984, -0.3425124855311522, 0.5800629198465251, -1.2025978925678338, 1.558263400620217, -0.35328657485136805, 0.1430274766155074, 0.05628816308552314, -2.620692487827569, 1.6098762157076474, -0.8207935771750003, 0.5424292679435623, -1.4540260217505032, -0.20184008425487351, -0.4246014116839205, -1.0905586042542246, 0.06502768078852923, -0.5799746563640122, -2.565673804355728, -0.23066040160319012, 1.856192138516554, -0.38172827978880325, 0.01304826811434393, 0.9445341435733203, -0.6849825311284834, 1.5490948014831156, -1.0913585503245822, -0.4381242489799873, -0.5812630251111705, -0.5744764045260977, -0.027771415190663732, 0.7938327419503679, -0.12758623956286547, -0.6045151382810301, 1.8474445535373696, 0.24149179091180556, 0.04100743277621963, 0.35140836677596726, 1.3930020439221447, 1.200321375659721, -0.09941219362967353, -0.13394064650171053, -2.124847643595333, 0.1276660382133322, 0.7773878237774157, 1.2817195365783571, -0.26284013340916956, 0.8321435008258975, 0.5636435675338447, -0.07652592840900248, -1.7009426746291132, 0.4649724378971014, -0.33746340428322413, 2.0235171807269627, -1.5822364154969968, 0.742769905640692, -0.5974436056050278, -1.316844650170756, 0.30369057632508345, 0.9442493939867789, -1.2375338470722161, -0.027119938661667047, 0.18792547478702148, 1.4299724906240014, 0.44733968296979937, -0.9785100126934928, 0.0795027606305654, -0.7072697915632586, -1.522161923029476, -0.63520786323302, 0.12922861461257368, 1.1108775922907916, 1.565226470320142, -0.28336837339073345, -0.7227108459905133, -0.4749885829246918, -1.120476287084392, -1.6298218469911123, 1.0183331528906259, -1.5509113529548293, -1.2889276730822607, 0.14015933690285248, -2.9478671467639055, -0.001961891298134559, 0.9555640050735459, 0.5278428873717022, -1.0832684751673731, -0.4079094711902485, 0.4604688427170514, 0.31733917635972625, -0.09494348672100875, -0.4965189402112383, -0.09698276180566485, 0.545665271585346, 0.4167932911151143, 0.5728307780882459, -0.7678403416312738, -0.15785955005291985, 0.7512160392580658], [0.7190936803017147, 1.2761406074350174, -1.4111182374408913, 0.26310670194018215, 0.9407837842105182, 0.6795746373345223, 0.19319767470250057, 1.181749765587525, 0.8507460701294618, 0.25867683603973396, 0.6966048598050236, -0.03498488558346045, 0.903073024737688, -1.414306435514595, -0.4083769823566257, -0.6802838957136735, 1.6941816414585686, 0.16940600531645988, -0.8718043428066149, 0.6634682611282056, -0.4024764985510899, 0.6330813932207235, -0.8597317573846763, -0.1017657280264325, 0.12257572136235559, 0.5781167455770915, -0.46117154968828805, 0.9800594270776545, 0.8380213315255219, 1.0201579643172443, -0.42072326980036673, -1.2519895152281222, -0.7433555128344224, 2.5057713106406836, 0.7604221809756584, 0.42427650826858637, 2.1482068149695386, -0.5373702841914944, 1.0496359820378565, -0.20709070929895515, 0.884571848411605, 1.2767400421883734, 1.799109685749468, -1.0786868890677728, -0.3544935580899074, -1.0523090287176746, 0.4621989174558176, 0.10920494603494703, 0.2578758257523174, 0.7592471201600437, -0.9726081827764587, 1.613409865183025, 0.30045698362782, 1.546676795320781, 1.3245428825716512, 0.28401773687220916, 0.2315897507285041, -0.20969509703452852, 0.11816753281422535, -0.44036850851980364, 0.08199150891405081, 0.5368097973057303, -0.5226313428073608, -0.2926900677711647, 1.437038718283656, -2.0047737725461507, -0.8145704376138586, -0.28803239701476435, -0.6484045076875048, 0.9281262212034432, 0.4461055740717581, -1.4166576571440557, -0.8360444086978558, -0.1137837186891818, 0.34679161025971644, 0.7379664122988847, 0.8185517184456492, 1.3754794879978909, -0.8553534830355956, 0.622457425229334, 0.07482636931235095, -1.9215643080771558, -1.2625945339650217, 0.9677101200183957, -0.8002816806890057, 0.4934781809313531, 0.720840045571883, 0.30774880510869274, 0.7466724011031967, 0.5662171596375528, -0.5724099623951878, -0.7321391861464415, 0.605139207976262, -0.6836236756846069, -0.11756283513963586, 0.6793781252690351, -0.22053019377720623, 0.06715393587783593, 0.38118560149235525, 1.4442070418676147], [-1.059090351556701, -1.637344620468516, -0.6832749698061172, -0.35012704632250874, -1.258617743256575, -0.9361813021326129, 0.27448967028741394, -1.1508382559462855, -1.4737329280942932, 0.37317368899358705, -0.9800468056568397, 0.6187912902019888, 0.5477704978753629, -1.4643819176046489, 1.5172830725398598, -0.259173960636129, -0.9098797258010463, -0.27607691253040867, 0.5403855362800077, -0.8568612064894948, 0.38331276860702085, 1.0908811427957072, -0.25467890054071624, -0.082743085814337, -0.229029218521793, 0.07721619356904277, -0.4841090105600307, 1.4057835715960496, 0.07949173160691794, -1.5156350830008851, 0.6893442372203938, 0.7408131302471312, 1.5304703454797757, -1.225216055692272, -0.6541203888933654, -0.2384763478022356, 0.366240820379127, 0.7098097727528628, 0.43307687871246847, -0.8092043362875125, -0.37046885735563667, -1.281208495135601, -0.5398872973016421, 1.39021842283157, 0.7503127973469683, -1.019317290027051, 0.5148154051856529, 0.5614317007739343, 1.0603423169984012, 0.7464363071208691, -0.1318298329616023, 0.6068684672126269, -0.5235325409129127, -1.6105505340277257, 1.0113438886734032, -0.6510842375679015, -1.2261768376831577, 0.00435276645173741, -0.8799539570915222, 1.2278317386381443, 0.2114149272674814, -1.2408178697284487, 0.03339917095227933, 0.20896083385651454, -0.15187157567578066, 1.645422605496852, 0.6703039049782207, -1.1381275173779792, 1.9020316013438574, 0.24570468506221338, -1.2462795254655905, 0.8474850826409387, 0.2746581616681731, -1.099191706692537, 0.7413908872756467, 1.7277947638869078, 1.2287056185493785, 0.1767914628899037, -0.2138484223190171, 0.4968938007472058, 0.8276008694313254, -0.8044924615940793, -1.0996161366602186, -0.14974800878836572, -1.9647049846999665, 0.16784244388701258, 0.7872031216492488, -0.04919551149899645, -0.04086694930720269, 1.0763342423488031, 0.9811397150155882, 0.08260696199375671, 1.4244460864024673, 0.43463980001922653, -0.627029149690726, 0.17152250082041645, 0.03764582207742419, -0.12338180486285924, 0.6143477750255107, 0.04086609483262727], [-0.5340278564652485, -0.5790399873367521, -0.4719603988059252, -1.6380628618029702, -0.9805081842601616, 1.6177549915939566, 1.155194037788014, 0.06413396311193961, 1.7959122215646446, 1.6027435242656451, 1.7659257802634296, -0.6247110864953546, 0.002849146901540881, 0.7833249416306185, -0.011754564599755619, 0.7092656324088502, 0.3222960045937302, 0.1245500501331272, -0.7521240259315695, -1.7303975108545815, -1.6804044506664326, -0.1430053440077973, -0.593447479337103, -1.6274132153693648, 0.7837634854308274, -0.5742741607025483, 0.19700855029861125, 0.12195318226025958, -0.38357449046758435, 1.265532497744999, -2.1058225833566158, 0.47849278751635926, -0.16004553912101835, -0.560221232154925, 0.36058639849785357, -0.8056652640816878, 1.255354057066513, 1.4373326485934648, -0.8505349220983115, 0.6794052057798877, -1.6503565968130933, 0.05096188645184576, 0.07353321593838859, 0.22026400056359863, -0.8653419184027669, 1.0047098256445763, 0.46802232811417616, -1.326122293142581, -0.4960660162205922, -0.635106139237633, 0.7326229244992465, -0.8394771409756188, -0.20830579189884033, 0.42786772534941186, 0.4908558491282426, -0.9721523005396292, -0.03778167491052559, -2.2782347959966285, 0.4628981362970862, 0.39935977416416485, -0.8557315208117019, 0.7457725300609329, -0.46373556791492726, -0.07598936732088825, 0.6624311015644977, -1.5366028988950315, -0.34947101260825053, -1.5581418619391725, -0.6875120883532155, 0.575607141161552, -0.3995732422503538, -0.7579460098474086, -1.3747203667362726, 0.597421922076603, -0.5205487990289602, 0.7993367334810685, -0.7235226606875137, -0.32589424703188064, 0.6209577394230678, -0.45484270669679017, -0.5239267055274702, -0.2649804136769816, 0.6071170677403904, -0.27366242950979597, -0.005946632691306642, -1.2719821525193833, 0.2577081730725611, 0.2718698875618628, 1.4512224285930402, 0.3930430502085771, -2.2042336007346277, 0.017731635098621266, -0.6229426619567169, 0.34301028788054516, -0.0769626503769278, 0.4978704719228267, 0.4311972392657933, -0.942003439859839, 0.17049282043885405, 0.7467590715006599], [-0.12928721846770014, 0.44605280780263634, -0.9876301477178321, -0.8546778214644212, 0.7937012018752497, -1.1406752445088422, 0.9765046769729239, 0.3746270996911284, 0.8834349138310141, 2.2506042600011673, 0.04134947920890152, -0.20057374306865566, 1.296309985843538, 0.39224109798037915, -0.3682284141747264, -1.1633977288557167, -0.44980744744073703, -1.662014874657308, 0.28711316867484965, 0.15278775165354036, -1.1986483015231688, -0.02912152525669531, -0.6303271404016775, 1.0935008582337349, 0.23568314258934558, -0.8303905150156268, -1.807661742710117, 1.0744361429726657, -0.9661155612517851, 0.7806961548012941, -2.408287655148526, -0.969269157729124, 0.8966977491447874, -1.2243523492347212, 0.699984987984097, -0.44892092563752417, -0.21999122822971404, 0.4621769987044138, 0.7041710990774946, -0.13668475205826744, 0.6360831296726264, 0.09412154510953606, 1.045216925781174, 0.7797900964359299, 0.9822580590225845, -0.8718039456109555, 0.12857790886686915, 1.3822916009742772, 0.20654956437913463, 0.5035496860286377, 0.890888898688285, -2.608395817393441, -1.0044756833852189, 0.33675890607585873, -0.7673713791465517, 0.496533336327451, -0.8563872798065086, -1.6097334271909354, 0.33085886366338246, 1.6604062252215444, 1.2707841101508481, 0.9286322075750161, -0.766825403446657, 1.2560050367814684, 1.1135105429762793, 0.622325417579701, -2.1205859298938448, -0.1525269148027061, -0.3475904672497858, -1.0224751627713309, -0.6047304854592928, -1.0833730897249547, 0.420071315127419, -2.3987712557703076, 1.7723832932178896, 2.0876948365465937, 0.45357702078809015, 1.4457700992393765, -1.040763246989119, 0.4530929011052563, 0.1437641221897874, -1.4326540695185628, 0.5903345438691628, -0.5742366274877542, -0.6588626483383634, 0.5999703907734065, -0.13319003550650035, 0.7529498705460744, 1.0855087129868088, 2.0724233374699166, -0.5542486039181038, -1.481542464354035, -1.7853289019791974, -1.4076112123531492, 0.4075582686540496, 0.5866972548983154, 2.2283143497944033, 0.05652264546325613, -0.03581366424931123, 0.9504331355548988], [0.7147766574140602, 0.9687194111143671, 0.08056952962647329, 0.6681143122298866, -0.8012240916709952, -0.05845428374795186, 1.054708351586757, 0.2426932579720431, -1.02670914704337, 0.6497564486342072, -0.5834653327048952, -0.1833260009499761, -0.17582370696860028, 0.003783623423808181, -0.473667484573606, -1.5059234428996426, -0.4057902574827419, 0.5987226733096309, 1.0708105877294662, 0.879479025106974, -1.1305946022651472, -0.4099083019877829, -0.779360130004607, 0.15228107374536742, -0.7414449059704571, 0.9558010782452991, 0.25701223528654926, -0.513025184806725, -1.330519268645595, 0.5460596187266801, -0.03443663649064914, 0.05996920046566065, -1.8862066569382718, 0.8186867508786392, -0.16288549239254527, -0.474017274886378, 1.5891544172830276, 2.0107831751760865, -0.8099055335982774, 0.04773498340315253, 0.8857389023043547, -1.4207035605159306, -0.08181452202596025, 1.4932575905890735, -0.6056590728961367, 0.025581773158448232, -1.8446053332033514, -0.19564276383898715, -1.283299008614237, -1.8547967023688376, -1.132010448210846, -0.6166775705054647, -0.1774805417002641, 0.25442119764080845, -0.676661364995467, 1.0124290746165021, 0.707133621526904, -1.278677281084765, 1.1224254380570695, 1.0370722509230021, 1.0678984150961168, -1.6549913901425584, 0.7109426674293992, 0.2504100125868864, -0.9823941138582613, -1.539814541067973, -1.2761524332729337, 0.7106938145192447, -0.04926681708785998, -0.827991633627559, -0.357314989644936, 0.5607463774661999, 0.9470686313093126, -1.2242451987208411, -0.20270609447315666, 0.5832128179641527, -1.147512219615702, 0.6764409843405449, 0.7228303716131653, -0.8270419995921369, 1.3492540131478779, -0.05714365615437463, -0.2829162759525848, 2.169050285525318, 0.34820700400415, 0.9132039350413825, 1.4429033204399337, -0.7499088352034963, -0.8561278536191504, 0.36882914650257753, 2.273420761661082, -1.6538197466823679, 0.6664255526224266, -1.8575059685600377, 0.2037560837220922, -0.0973954566528998, -2.170625066085771, 0.23857820428283283, 1.729558642317762, 0.6809487511593707]], "zmax": 2.9426992522321656, "y": [0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5], "type": "heatmap", "showscale": true, "x": [0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5, 16.5, 17.5, 18.5, 19.5, 20.5, 21.5, 22.5, 23.5, 24.5, 25.5, 26.5, 27.5, 28.5, 29.5, 30.5, 31.5, 32.5, 33.5, 34.5, 35.5, 36.5, 37.5, 38.5, 39.5, 40.5, 41.5, 42.5, 43.5, 44.5, 45.5, 46.5, 47.5, 48.5, 49.5, 50.5, 51.5, 52.5, 53.5, 54.5, 55.5, 56.5, 57.5, 58.5, 59.5, 60.5, 61.5, 62.5, 63.5, 64.5, 65.5, 66.5, 67.5, 68.5, 69.5, 70.5, 71.5, 72.5, 73.5, 74.5, 75.5, 76.5, 77.5, 78.5, 79.5, 80.5, 81.5, 82.5, 83.5, 84.5, 85.5, 86.5, 87.5, 88.5, 89.5, 90.5, 91.5, 92.5, 93.5, 94.5, 95.5, 96.5, 97.5, 98.5, 99.5, 100.5]}], "config": {"showlegend": true, "xaxis": {"showticklabels": true, "gridwidth": 0.5, "tickvals": [20, 40, 60, 80, 100], "range": [0.5, 100.5], "domain": [0.02137649460484106, 0.7504228638086905], "mirror": false, "tickangle": 0, "showline": true, "ticktext": ["20", "40", "60", "80", "100"], "zeroline": false, "tickfont": {"color": "rgba(0, 0, 0, 1)", "family": "sans-serif", "size": 11}, "zerolinecolor": "rgba(0, 0, 0, 1)", "anchor": "y", "visible": true, "ticks": "inside", "tickmode": "array", "linecolor": "rgba(0, 0, 0, 1)", "showgrid": true, "title": {"text": "", "font": {"color": "rgba(0, 0, 0, 1)", "family": "sans-serif", "size": 15}}, "gridcolor": "rgba(0, 0, 0, 0.1)", "tickcolor": "rgb(0, 0, 0)", "type": "linear"}, "paper_bgcolor": "rgba(255, 255, 255, 1.000)", "annotations": [], "height": 400, "margin": {"l": 0, "b": 20, "r": 0, "t": 20}, "plot_bgcolor": "rgba(255, 255, 255, 1.000)", "yaxis": {"showticklabels": true, "gridwidth": 0.5, "tickvals": [2, 4, 6, 8], "range": [0.5, 8.5], "domain": [0.03762029746281716, 0.9901574803149606], "mirror": false, "tickangle": 0, "showline": true, "ticktext": ["2", "4", "6", "8"], "zeroline": false, "tickfont": {"color": "rgba(0, 0, 0, 1)", "family": "sans-serif", "size": 11}, "zerolinecolor": "rgba(0, 0, 0, 1)", "anchor": "x", "visible": true, "ticks": "inside", "tickmode": "array", "linecolor": "rgba(0, 0, 0, 1)", "showgrid": true, "title": {"text": "", "font": {"color": "rgba(0, 0, 0, 1)", "family": "sans-serif", "size": 15}}, "gridcolor": "rgba(0, 0, 0, 0.1)", "tickcolor": "rgb(0, 0, 0)", "type": "linear"}, "legend": {"yanchor": "auto", "xanchor": "auto", "bordercolor": "rgba(0, 0, 0, 1)", "bgcolor": "rgba(255, 255, 255, 1.000)", "borderwidth": 1, "tracegroupgap": 0, "y": 1, "font": {"color": "rgba(0, 0, 0, 1)", "family": "sans-serif", "size": 11}, "title": {"font": {"color": "rgba(0, 0, 0, 1)", "family": "sans-serif", "size": 15}, "text": ""}, "traceorder": "normal", "x": 1}, "width": 718.9375}}