Реализация алгоритма нахождения резольвенты матрицы с использованием присоединенной матрицы и характеристического многочлена

Обложка

Цитировать

Полный текст

Аннотация

В настоящей работе излагается реализация алгоритма вычисления резольвенты матрицы с использованием присоединенной матрицы и характеристического многочлена матрицы на языке Python. На графиках приведены зависимости скорости работы алгоритма при различных размерностях матрицы.

Полный текст

Введение. При решении многих задач требуется вычислять резольвенту матрицы [1], не зная ее собственных значений. В частности, такая задача возникает при решении систем линейных алгебраических уравнений с малым параметром методом Ляпунова-Шмидта [2; 3]. В работе [1] приведен подход вычисления резольвенты матрицы с использованием присоединенной матрицы и характеристического многочлена матрицы. Для вычисления последних Д. К. Фаддеевым предложен метод одновременного вычисления коэффициентов

характеристического многочлена и присоединенной матрицы [1].

Изложим алгоритм вычисления резольвенты матрицы на основе подхода, изложенного в [1] и метода Д. К. Фаддеева одновременного вычисления коэффициентов характеристического многочлена и присоединенной матрицы.

Алгоритм вычисления резольвенты матрицы. Для вычисления резольвенты постоянной (m × m) −матрицы A

R(λ)=λEА1 воспользуемся формулой [1, с. 112]

R(λ)=1xmin(λ)С(λ)

где C(𝜆) – приведенная присоединенная матрица для матрицы [𝜆𝐸 − A] (см. [1, с. 99]);

𝜒min (𝜆) – минимальный характеристический многочлен матрицы A.

Приведенную присоединенную матрицу C(𝜆) и минимальный характеристический многочлен матрицы A будем вычислять по формулам [1, с. 99-100]

C(λ)=1d(λ)BA(λ)xmin(λ)=Δ(λ)d(λ)

где B𝐴(𝜆) – присоединенная матрица для матрицы A [1, с. 92], 𝑑(𝜆) – наибольший общий делитель всех элементов матрицы B𝐴(𝜆),

Δ(λ)=λnp1λn1p2λn2...pn1λpn – характеристический многочлен матрицы A.

Для нахождения присоединенной матрицы B𝐴(𝜆) воспользуемся формулой [1, с. 94]

BA(λ)=B0λn1+B1λn2+B2λn3+...+Bn1,

где B0– единичная (m× m) −матрица, а (m× m) −матрицы Bk, k= 1, … , n − 1, находятся методом Д. К. Фаддеева по формулам [1, с. 97]

Ak=A Bk1,pk=1kSp(Ak),Bk=AkpkE,k=1, ... , m.

Здесь 𝐸0 – единичная (m× m) −матрица.

Программная реализация алгоритм вычисления резольвенты матрицы. Приведем фрагменты алгоритма вычисления резольвенты матрицы A на языке Python с использованием пакета SymPy.

Фрагмент кода инициализации матрицы A с целыми случайными элементами

𝑎ij, i, j = 1, … , m из отрезка [−10, 10]:

max_aij = 10

A = np.random.randint(-max_aij, max_aij + 1, (m, m))

Фрагмент кода реализации метода Д. К. Фаддеева одновременного вычисления характеристического многочлена ∆(𝜆) и присоединенной матрицы BA(𝜆):

def fadeev_method(A):

m = len(A)

E = sympy.eye(m)

B = [0 for i in range(m + 1)]

B[0] = sympy.eye(m)

tmpA = [0 for i in range(m + 1)]

p = [0 for i in range(m +  1)]

for k in range(1, m + 1):

tmpA[k] = A * B[k -  1]

p[k] =  1 / k * matrix_trace(tmpA[k])

B[k] = tmpA[k] - p[k] * E

deltaLambda = lyamda ** m

for i in range(1, m + 1):

deltaLambda -= p[i] * lyamda ** (m - i)

                B_A = sympy.zeros(m)

for k in range(m):

B_A += B[k] * lyamda ** (m - 1 - k)

return B_A, deltaLambda

Фрагмент кода вычисления наибольшего общего делителя всех элементов присоединенной матрицы BA(𝜆):

d = B_A[0, 0]

for i in range(m):

for j in range(m):

d = sympy.gcd(d, B_A[i, j])

Фрагмент кода вычисления приведенной присоединенной матрицы C(𝜆), минимального характеристического многочлена 𝜒min(𝜆) и резольвенты R(𝜆) матрицы A:

C =  1 / d * B_A

x_min = deltaLambda.as_expr() / d

R =  1 / x_min * C

Вычислительный эксперимент. Вычисления проводились на ноутбуке с процессором 11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz и операционной системой Windows 11 Pro.

На графиках представлены зависимости скорости работы алгоритма вычисления резольвенты матрицы A с целыми случайными элементами при различных размерностях матрицы.

 

Рисунок. Графики зависимостей скорости работы алгоритма от размерности матрицы A при условиях:
a) |𝑎ij | ≤ 10, b) |𝑎ij | ≤ 105, c) |𝑎ij | ≤ 106, d) |𝑎ij | ≤ 107, i, j = 1, … , m

 

Из графиков видно, что при увеличении значений коэффициентов матрицы A по абсолютной величине скорость работы алгоритма увеличивается незначительно.

Для сравнительного анализа использовалась функция пакета Sympy нахождения обратной матрицы, зависящей от параметра. Вычисления показали, что при m = 30 и |𝑎ij| ≤ 10 эта функция уже затрачивает порядка 10 мин., что значительно превышает скорость работы    разработанного алгоритма вычисления резольвенты матрицы с использованием приведенной присоединенной матрицы и минимального характеристического многочлена.

×

Об авторах

П. А. Шаманаев

Автор, ответственный за переписку.
Email: ogarevonline@yandex.ru
Россия

Д. А. Катин

Email: ogarevonline@yandex.ru
Россия

Е. В. Десяев

Email: ogarevonline@yandex.ru
Россия

Список литературы

  1. Гантмахер Ф. Р. Теория матриц. – М.: Наука, 1966. – 576 с.
  2. Вайнберг М. М., Треногин В. А. Теория ветвления решений нелинейных уравнений. – М.: Наука, 1964. – 524 с.
  3. Шаманаев П. А., Прохоров С. А. Алгоритм решения систем линейных алгебраических уравнений с малым параметром методом Ляпунова-Шмидта в регулярном случае [Электронный ресурс] // Математическое моделирование, численные методы и комплексы программ имени Е. В. Воскресенского: IX Международная научная молодежная школа-семинар (Саранск, 8-11 октября 2020 г.). – С. 129–131. – Режим доступа: https://conf.svmo.ru/files/2020/papers/paper40.pdf (дата обращения: 23.11.2023).

Дополнительные файлы

Доп. файлы
Действие
1. JATS XML
2. Рисунок. Графики зависимостей скорости работы алгоритма от размерности матрицы A

Скачать (481KB)

Мы используем файлы cookies, сервис веб-аналитики Яндекс.Метрика для улучшения работы сайта и удобства его использования. Продолжая пользоваться сайтом, вы подтверждаете, что были об этом проинформированы и согласны с нашими правилами обработки персональных данных.

Согласие на обработку персональных данных с помощью сервиса «Яндекс.Метрика»

1. Я (далее – «Пользователь» или «Субъект персональных данных»), осуществляя использование сайта https://journals.rcsi.science/ (далее – «Сайт»), подтверждая свою полную дееспособность даю согласие на обработку персональных данных с использованием средств автоматизации Оператору - федеральному государственному бюджетному учреждению «Российский центр научной информации» (РЦНИ), далее – «Оператор», расположенному по адресу: 119991, г. Москва, Ленинский просп., д.32А, со следующими условиями.

2. Категории обрабатываемых данных: файлы «cookies» (куки-файлы). Файлы «cookie» – это небольшой текстовый файл, который веб-сервер может хранить в браузере Пользователя. Данные файлы веб-сервер загружает на устройство Пользователя при посещении им Сайта. При каждом следующем посещении Пользователем Сайта «cookie» файлы отправляются на Сайт Оператора. Данные файлы позволяют Сайту распознавать устройство Пользователя. Содержимое такого файла может как относиться, так и не относиться к персональным данным, в зависимости от того, содержит ли такой файл персональные данные или содержит обезличенные технические данные.

3. Цель обработки персональных данных: анализ пользовательской активности с помощью сервиса «Яндекс.Метрика».

4. Категории субъектов персональных данных: все Пользователи Сайта, которые дали согласие на обработку файлов «cookie».

5. Способы обработки: сбор, запись, систематизация, накопление, хранение, уточнение (обновление, изменение), извлечение, использование, передача (доступ, предоставление), блокирование, удаление, уничтожение персональных данных.

6. Срок обработки и хранения: до получения от Субъекта персональных данных требования о прекращении обработки/отзыва согласия.

7. Способ отзыва: заявление об отзыве в письменном виде путём его направления на адрес электронной почты Оператора: info@rcsi.science или путем письменного обращения по юридическому адресу: 119991, г. Москва, Ленинский просп., д.32А

8. Субъект персональных данных вправе запретить своему оборудованию прием этих данных или ограничить прием этих данных. При отказе от получения таких данных или при ограничении приема данных некоторые функции Сайта могут работать некорректно. Субъект персональных данных обязуется сам настроить свое оборудование таким способом, чтобы оно обеспечивало адекватный его желаниям режим работы и уровень защиты данных файлов «cookie», Оператор не предоставляет технологических и правовых консультаций на темы подобного характера.

9. Порядок уничтожения персональных данных при достижении цели их обработки или при наступлении иных законных оснований определяется Оператором в соответствии с законодательством Российской Федерации.

10. Я согласен/согласна квалифицировать в качестве своей простой электронной подписи под настоящим Согласием и под Политикой обработки персональных данных выполнение мною следующего действия на сайте: https://journals.rcsi.science/ нажатие мною на интерфейсе с текстом: «Сайт использует сервис «Яндекс.Метрика» (который использует файлы «cookie») на элемент с текстом «Принять и продолжить».