Ермітова нормальна форма

Матеріал з testwiki
Версія від 13:33, 18 серпня 2022, створена imported>Олюсь
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку

Ермітова нормальна форма — це аналог ступінчастого вигляду матриці для матриць над кільцем цілих чисел. Тоді як ступінчастий вигляд матриці використовується для розв'язання систем лінійних рівнянь виду Ax=b для xn, ермітову нормальну форму можна використати для розв'язання лінійних систем діофантових рівнянь, у яких мається на увазі, що xn. Ермітова нормальна форма використовується у розв'язанні задач цілочисельного програмування[1], криптографії[2] і загальної алгебри[3].

Визначення

Матриця H є ермітовою нормальною формою цілочисельної матриці A якщо є унімодулярна матриця U така що H=UA і H задовольняє таким вимогам[4][5][6]:

  1. H є верхньо-трикутною, тобто, hij=0 якщо i>j і будь-який рядок, що цілком складається з нулів, лежить нижче від всіх інших.
  2. Ведучий елемент будь-якого ненульового рядка завжди додатний і лежить правіше від ведучого коефіцієнта рядка над ним.
  3. Елементи під ведучими дорівнюють нулю, а елементи над ведучими невід'ємні і строго менші від ведучого.

Деякі автори в третій умові вимагають, щоб елементи були недодатними[7][8] або взагалі не накладають на них знакових обмежень[9].

Існування та єдиність ермітової нормальної форми

Ермітова нормальна форма H існує і єдина для будь-якої цілочисельної матриці A[5][10][11].

Приклади

У прикладах нижче матриця H є ермітовою нормальною формою матриці A, а відповідною унімодулярною матрицею є матриця U така що H=UA.

A=(331401000019160003)H=(30110100001910003)U=(1301010000150001)

A=(236256168311)H=(10501103282006113)U=(9515201161)

Алгоритми

Перші алгоритми обчислення ермітової нормальної форми датуються 1851 роком. При цьому перший алгоритм, що працює за строго поліноміальний час, розроблено лише 1979 року[12]. Один із широко використовуваних класів алгоритмів для зведення матриці до ермітової нормальної форми ґрунтується на модифікованому методі Гауса[10][13][14]. Іншим поширеним методом обчислення ермітової нормальної форми є Шаблон:Нп[15][16].

Застосування

Обчислення в ґратках

Зазвичай ґратки в n мають вигляд L={α1a1+α2a2++αnan|αi}, де ain. Якщо розглянути матрицю A, чиї рядки складені із векторів ai, то її ермітова нормальна форма задаватиме деякий єдиним чином визначений базис ґратки. Це спостереження дозволяє швидко перевіряти, чи збігаються ґратки, породжені рядками матриць A і A, для чого достатньо перевірити, що в матриць збігаються їхні ермітові нормальні форми. Аналогічно можна перевірити, чи є ґратка LA підґраткою ґратки LA, для чого достатньо розглянути матрицю A, отриману з об'єднання рядків A і A. У такій постановці LA є підґраткою LA якщо і тільки якщо збігаються ермітові нормальні форми A і A[17].

Лінійні діофантові рівняння

Система лінійних рівнянь Ax=b має цілочисельний розв'язок x, якщо і тільки якщо система Hx=Ub має цілочисельний розв'язок, де H=UA — ермітова нормальна форма матриці A[10]Шаблон:Rp.

Реалізація

Обчислення ермітової нормальної форми реалізовано в багатьох системах комп'ютерної алгебри:

Див. також

Джерела

Примітки

Шаблон:Примітки