Журнал вычислительной математики и математической физики, 2019, T. 59, № 11, стр. 1823-1835

Применение матричных разложений для канонизации матриц

В. Г. Волков 1*, Д. Н. Демьянов 1

1 Набережночелнинский институт (филиал) КФУ
423812 Набережные Челны, пр-т Мира, 68/19, Россия

* E-mail: vgvolkov93@mail.ru

Поступила в редакцию 04.03.2019
После доработки 04.03.2019
Принята к публикации 08.07.2019

Полный текст (PDF)

Аннотация

Рассматривается задача решения переопределенных, недоопределенных, вырожденных или плохо обусловленных СЛАУ с использованием технологии канонизации матриц. Предлагается модификация существующего алгоритма канонизации, основанная на применении матричных разложений. Получены расчетные формулы, использующие LU-разложение, QR-разложение, LQ-разложение или сингулярное разложение в зависимости от свойств исходной матрицы. Предлагается метод оценки обусловленности задачи канонизации, основанный на вычислении норм матриц, получаемых в результате канонизации, не требующий обращения исходной матрицы. Приведен пошаговый алгоритм канонизации матриц в самом общем случае, реализованный в виде функции на языке программирования MATLAB. Проведено тестирование разработанного приложения на выборке из 100 000 случайным образом сгенерированных матриц, подтвердившее корректность и эффективность его работы. Библ. 19. Фиг. 2.

Ключевые слова: система линейных алгебраических уравнений, канонизация матриц, планшетный метод, сингулярное разложение, QR-разложение, LQ-разложение, LU-разложение, число обусловленности, нуль-пространство, пространство строк, пространство столбцов.

ВВЕДЕНИЕ

Решение многих прикладных задач математического моделирования, теории автоматического управления и теории систем [1]–[6], а также, например, регрессионного анализа часто приводит к переопределенным, недоопределенным или вырожденным СЛАУ. Кроме того, на практике часто возникают обратные задачи с плохо обусловленными матрицами, для решения которых, как правило, невозможно непосредственно вычислить обратную матрицу, применить метод Гаусса или другие классические методы линейной алгебры.

В работах [1]–[6] была разработана и применена теория вложения систем, основывающаяся на анализе алгебраических особенностей оператора системы и позволяющая синтезировать полный класс решений задачи управления данной системой. Для анализа алгебраических особенностей систем в работах [7] и [8] была разработана технология канонизации, которая позволяет строить полный класс решений любых СЛАУ: переопределенных, недоопределенных, вырожденных или плохо обусловленных. Технология канонизации успешно применяется для решения задач теории автоматического управления, например, в работах [9]–[11].

Похожие идеи излагаются в работах Г. Стрэнга [12] и [13], где вводятся понятия правого и левого нуль-пространств, а также ортогональных им пространств строк и столбцов матрицы, и устанавливается связь между LU-разложением матрицы и базисами данных подпространств. Отдельно отметим, что канонизацию матрицы можно рассматривать как обобщение сингулярного разложения, на что было указано в работе [6].

Для получения канонизации матрицы в работе [6] предлагается планшетный метод, основанный на методе Гаусса–Жордана и пригодный как для ручного счета, так и для программной реализации на ЭВМ. Существует программная реализация планшетного метода канонизации [14], главным достоинством которой является возможность работы с СЛАУ, имеющими дробно-рациональные коэффициенты, что позволяет решать задачи синтеза систем управления, сформулированные в форме матричных передаточных функций. В качестве основных недостатков планшетного метода можно отметить невозможность получения канонизаторов и делителей нуля с заданными свойствами, например, являющихся унитарными, а также теоретическую неустойчивость метода Гаусса.

Из работ по вычислительной линейной алгебре (например, [15] и [16]) известно, что наиболее эффективными являются алгоритмы решения СЛАУ, основанные на матричных разложениях. В частности, наиболее быстрыми методами для квадратных матриц являются те, что основаны на LU-разложении, для матриц произвольного размера – на QR-разложении, максимальная скорость может быть достигнута для эрмитовых положительно-определенных матриц при помощи разложения Холецкого, а для решения вырожденных и плохо обусловленных систем наиболее подходящими являются QR-, LQ- и сингулярное разложения. Следовательно, актуальной задачей является разработка эффективного алгоритма канонизации, основанного на данных разложениях и при этом сохраняющего возможность работы с СЛАУ, имеющими дробно-рациональные коэффициенты.

Проблема вычисления и оценки числа обусловленности задачи поднимается во многих работах, например, в [17] и [18]. Прямое вычисление числа обусловленности матрицы осложнено необходимостью ее обращения, в то время как эффективные методы решения СЛАУ не выполняют его явно. Поэтому практический интерес представляют методы вычисления и оценки числа обусловленности, не требующие обращения матрицы системы.

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

В разд. 1 настоящей работы приводятся общие сведения о технологии канонизации матриц (см., например, [6]–[8]). В разд. 2 осуществляется сведение задачи канонизации матрицы к задаче вычисления одного из матричных разложений, разрабатывается алгоритм канонизации, основанный на данных разложениях, и предлагается метод оценки числа обусловленности задачи канонизации, основанный на вычислении норм матриц, получаемых в результате канонизации, который не требует обращения исходной матрицы. В разд. 3 приводятся результаты вычисления канонизации и числа обусловленности тестовых матриц, выполненных в среде MATLAB с помощью предлагаемого алгоритма. В разд. 4 обсуждаются области применения предлагаемого алгоритма.

1. ОБЩИЕ СВЕДЕНИЯ О КАНОНИЗАЦИИ МАТРИЦ

Пусть рассматривается левосторонняя СЛАУ общего вида

(1.1)
${{A}_{{m \times n}}} \times {{X}_{{n \times p}}} = {{B}_{{m \times p}}}.$
Здесь и далее Am × n – числовая или дробно-рациональная (полиномиальная) матрица коэффициентов размера m × n, Bm × p – числовая или дробно-рациональная (полиномиальная) матрица правых частей размера m × p, Xn × p – матрица с неизвестными числовыми или дробно-рациональными (полиномиальными) элементами размера n × p, m – число строк матриц Am × n и Bm × p, n – число столбцов матрицы Am × n и строк матрицы Xn × p, p – число столбцов матриц Xn × p и Bm × p.

В случае, если матрица Am × n является квадратной и невырожденной, то есть m = n и rank(Am × m) = m, то формально решением СЛАУ вида (1.1) является следующее выражение:

(1.2)
${{X}_{{m \times p}}} = {{\left( {{{A}_{{m \times m}}}} \right)}^{{ - 1}}} \times {{B}_{{m \times p}}},$
где (Am × m)–1 – обратная матрица. По теореме Кронекера–Капелли решение данной системы существует, если выполняется условие

(1.3)
$\operatorname{rank} ({{A}_{{m \times m}}}) = \operatorname{rank} ({{A}_{{m \times m}}}\;{{B}_{{m \times p}}}).$

Однако, если матрица ${{A}_{{m \times n}}}$ не является квадратной или невырожденной, то есть $m \ne n$ или rank(Am × n) < min(m, n), то выражение (Am × n)–1 не имеет смысла. В этом случае, в зависимости от выполнения условий m < n или m > n, говорят о том, что система (1.1) является недоопределенной или переопределенной, соответственно, записать аналитическое решение в явном виде (1.2) оказывается невозможным.

В работах [6]–[8] предлагается обобщение подхода, описываемого выражениями (1.2) и (1.3). Данный метод авторы называют методом канонизации. Он заключается в нахождении в общем случае пятерки матриц

(1.4)
$(\begin{array}{*{20}{c}} {\bar {A}_{{(m - r) \times m}}^{L}}&{\bar {A}_{{n \times (n - r)}}^{R}}&{\tilde {A}_{{r \times m}}^{L}}&{\tilde {A}_{{n \times r}}^{R}}&{{{{\tilde {A}}}_{{n \times m}}}} \end{array}).$
Здесь и далее матрица $\bar {A}_{{(m - r) \times m}}^{L}$ называется левым, а $\bar {A}_{{n \times (n - r)}}^{R}$ – правым делителями нуля максимального ранга,$\tilde {A}_{{r \times m}}^{L}$ – левым канонизатором (делителем единицы), $\tilde {A}_{{n \times r}}^{R}$ – правым канонизатором (делителем единицы) и ${{\tilde {A}}_{{n \times m}}}$ – сводным канонизатором, r – ранг матрицы ${{A}_{{m \times n}}}$.

Известны соотношения (строго обоснованные в работах [6] и [8]), связывающие вышеописанные матрицы

(1.5)
$\tilde {A}_{{r \times m}}^{L} \times {{A}_{{m \times n}}} \times \tilde {A}_{{n \times r}}^{R} = {{I}_{{r \times r}}},$
(1.6)
$\bar {A}_{{(m - r) \times m}}^{L} \times {{A}_{{m \times n}}} = {{O}_{{\left( {m - r} \right) \times n}}},$
(1.7)
${{A}_{{m \times n}}} \times \bar {A}_{{n \times ()}}^{R} = {{O}_{{m \times (n - r)}}},$
(1.8)
${{\tilde {A}}_{{n \times m}}} = \tilde {A}_{{n \times r}}^{R} \times \tilde {A}_{{r \times m}}^{L}.$
Здесь ${{I}_{{r \times r}}}$ – единичная матрица размера $r \times r$, а ${{O}_{{(m - r) \times n}}}$ и ${{O}_{{m \times (n - r)}}}$ – нулевые матрицы соответствующих размеров. Учитывая основную теорему линейной алгебры (см., например, [12] и [13]), из соотношений (1.5)–(1.8) следует, что левый делитель нуля $\bar {A}_{{(m - r) \times m}}^{L}$ составлен из строк, являющихся базисом левого нуль-пространства матрицы ${{A}_{{m \times n}}}$, правый делитель нуля $\bar {A}_{{n \times (n - r)}}^{R}$ – из столбцов, являющихся базисом (правого) нуль-пространства матрицы ${{A}_{{m \times n}}}$, строки левого канонизатора $\tilde {A}_{{r \times m}}^{L}$ непосредственно связаны с базисом пространства строк матрицы ${{A}_{{m \times n}}}$, а столбцы правого канонизатора $\tilde {A}_{{n \times r}}^{R}$ – с базисом пространства столбцов матрицы ${{A}_{{m \times n}}}$ [6].

Используя соотношения (1.5) и (1.8), можно показать, что сводный канонизатор ${{\tilde {A}}_{{m \times n}}}$ является обобщением понятия обратной матрицы ${{({{A}_{{m \times n}}})}^{{ - 1}}}$. Кроме того, в работе [8] доказываются теоремы, утверждающие, что на основе условия (1.3) и канонизации (1.4) можно сформулировать условие разрешимости СЛАУ (1.1)

(1.9)
$\bar {A}_{{(m - r) \times m}}^{L} \times {{B}_{{m \times p}}} = {{O}_{{(m - r) \times p}}}$
и в совокупности с соотношениями (1.5) и (1.8) записать полный класс решений СЛАУ (1.1) в виде
(1.10)
${{\{ {{X}_{{n \times p}}}\} }_{\eta }} = {{\tilde {A}}_{{n \times m}}} \times {{B}_{{m \times p}}} + \bar {A}_{{n \times \left( {n - r} \right)}}^{R} \times {{\eta }_{{\left( {n - r} \right) \times p}}}.$
Здесь${{\eta }_{{(n - r) \times p}}}$ – матрица размера $(n - r) \times p$ с произвольными элементами ${{n}_{{i,j}}}$, $i = \overline {1,(n - r)} $, $j = \overline {1,p} $. Обозначением ${{\{ {{X}_{{n \times p}}}\} }_{\eta }}$ указывают на множественность возможных решений ${{X}_{{n \times p}}}$, зависящих от матричного параметра ${{\eta }_{{(n - r) \times p}}}$.

Таким образом, условие (1.9) и выражение (1.10) дают полное решение СЛАУ (1.1) в аналитическом виде. Следует отметить, что аналогичные результаты можно получить для правосторонних и двусторонних СЛАУ (см., например, [6] и [8]).

2. СВЕДЕНИЕ ЗАДАЧИ КАНОНИЗАЦИИ К ЗАДАЧЕ МАТРИЧНОГО РАЗЛОЖЕНИЯ

2.1. Планшетный метод канонизации

Известно, что наиболее распространенным подходом к решению СЛАУ вида (1.1) является метод Гаусса [13]–[16]. В работах [6] и [8] предлагается так называемый планшетный метод вычисления канонизации (1.4), основанный на методе Гаусса–Жордана для вычисления обратной матрицы и заключающийся в применении эквивалентных преобразований к исходной матрице ${{A}_{{m \times n}}}$ и двум единичным матрицам ${{I}_{{m \times m}}}$ и ${{I}_{{n \times n}}}$, приводящих матрицу ${{A}_{{m \times n}}}$ к каноническому представлению:

(2.1)
$\left[ {\begin{array}{*{20}{c}} {{{I}_{{r \times r}}}}&{{{O}_{{r \times (n - r)}}}} \\ {{{O}_{{(m - r) \times r}}}}&{{{O}_{{(m - r) \times (n - r)}}}} \end{array}} \right],$
а единичные матрицы ${{I}_{{m \times m}}}$ и ${{I}_{{n \times n}}}$ к видам
(2.2)
${{A}^{L}} = \left[ {\begin{array}{*{20}{c}} {\tilde {A}_{{r \times m}}^{L}} \\ {\bar {A}_{{(m - r) \times m}}^{L}} \end{array}} \right],$
(2.3)
${{A}^{R}} = [\begin{array}{*{20}{c}} {\tilde {A}_{{n \times r}}^{R}}&{\bar {A}_{{n \times \left( {n - r} \right)}}^{R}} \end{array}]$
соответственно.

Рассматривая выражения (2.1)–(2.3), а также соотношения (1.5)–(1.8), можно видеть, что для них должно выполняться следующее равенство

(2.4)
${{A}^{L}} \times {{A}_{{m \times n}}} \times {{A}^{R}} = \left[ {\begin{array}{*{20}{c}} {{{I}_{{r \times r}}}}&{{{O}_{{r \times \left( {n - r} \right)}}}} \\ {{{O}_{{\left( {m - r} \right) \times r}}}}&{{{O}_{{\left( {m - r} \right) \times \left( {n - r} \right)}}}} \end{array}} \right].$

Известна программная реализация планшетного метода вычисления канонизации (1.4) [14], использующая метод исключения для приведения матрицы ${{A}_{{m \times n}}}$ к каноническому виду (0.1) и запоминающая в памяти ЭВМ применяемые к матрице ${{A}_{{m \times n}}}$ элементарные преобразования строк и столбцов, в совокупности составляющие матрицы (2.2) и (2.3) соответственно.

Далее рассматриваются возможности сведения задачи канонизации матрицы к задаче вычисления матричных разложений.

2.2. Канонизация на основе сингулярного разложения

Известно (например, из теорем 5.1 и 5.2 в [15]), что сингулярное разложение является наиболее точным инструментом для оценки ранга матрицы, вычисления ортонормированных базисов четырех фундаментальных подпространств матрицы: пространств строк и столбцов, а также правого и левого нуль-пространств. В работе [6] указывается, что задача канонизации эквивалентна задаче вычисления сингулярного разложения матрицы ${{A}_{{m \times n}}}$

(2.5)
${{A}_{{m \times n}}} = {{U}_{{m \times m}}} \times {{{\Sigma }}_{{{\text{m}} \times {\text{n}}}}} \times ({{V}_{{n \times n}}}){\kern 1pt} *.$
Здесь матрицы ${{U}_{{m \times m}}}$ и ${{V}_{{n \times n}}}$ суть унитарные квадратные матрицы размеров $m \times m$ и $n \times n$ соответственно; матрица ${{{\Sigma }}_{{{\text{m}} \times {\text{n}}}}}$ состоит из нулевых элементов всюду, кроме главной диагонали, где первые $r$ ненулевых элементов представляют собой сингулярные числа матрицы ${{A}_{{m \times n}}}$, расставленные по убыванию. Следует отметить, что для задачи канонизации важными особенностями сингулярного разложения являются простота обращения унитарных матриц ${{U}_{{m \times m}}}$ и ${{V}_{{n \times n}}}$ (посредством эрмитового сопряжения) и псевдообращения матрицы ${{{\Sigma }}_{{m \times n}}}$.

После подстановки полученного разложения (2.5) в исходную СЛАУ (1.1) получим следующую систему

(2.6)
${{\Sigma }_{{m \times n}}} \times ({{V}_{{n \times n}}}){\kern 1pt} {\text{*}} \times {{X}_{{n \times p}}} = ({{U}_{{m \times m}}}){\kern 1pt} {\text{*}} \times {{B}_{{m \times p}}}.$
Учитывая, что матрица ${{{\Sigma }}_{{m \times n}}}$ в СЛАУ (2.6) в общем случае может являться прямоугольной и вырожденной, и осуществляя процедуру ее псевдообращения, получаем
(2.7)
${{\left( {{{\Sigma }_{{m \times n}}}} \right)}^{ + }} = \left[ {\begin{array}{*{20}{c}} {{\text{diag}}{{{\left( {\frac{1}{{{{\sigma }_{k}}}}} \right)}}_{{r \times r}}}}&{{{O}_{{r \times (m - r)}}}} \\ {{{O}_{{\left( {n - r} \right) \times r}}}}&{{{O}_{{(n - r) \times (m - r)}}}} \end{array}} \right],$
где ${{\sigma }_{k}}$ – сингулярные числа матрицы ${{A}_{{m \times n}}}$, $k = \overline {1,r} $. Здесь и далее будем обозначать псевдообращение матрицы $A$ как ${{A}^{ + }}$. Используя псевдообратную матрицу (2.7), можно записать частное и общее решения системы (1.1)
(2.8)
$X_{{n \times p}}^{'} = {{V}_{{n \times r}}} \times {\text{diag}}{{\left( {\frac{1}{{{{\sigma }_{k}}}}} \right)}_{{r \times r}}} \times ({{U}_{{m \times r}}}){\kern 1pt} {\text{*}} \times {{B}_{{m \times p}}},$
(2.9)
$X_{{n \times p}}^{{''}} = {{V}_{{n \times (n - r)}}} \times {{\eta }_{{(n - r) \times p}}}.$
Здесь $X_{{n \times p}}^{'}$ – частное решение неоднородной системы (1.1), $X_{{n \times p}}^{{''}}$ – общее решение соответствующей однородной системы, ${{\eta }_{{\left( {n - r} \right) \times p}}}$ – произвольная матрица подходящего размера. Используя решения (2.8) и (2.9), можно записать полный класс решений СЛАУ (1.1)
(2.10)
${{\{ {{X}_{{n \times p}}}\} }_{\eta }} = {{V}_{{n \times r}}} \times {\text{diag}}{{\left( {\frac{1}{{{{\sigma }_{k}}}}} \right)}_{{r \times r}}} \times ({{U}_{{m \times r}}}){\kern 1pt} {\text{*}} \times {{B}_{{m \times p}}} + {{V}_{{n \times (n - r)}}} \times {{\eta }_{{(n - r) \times p}}}.$
Сравнивая выражения (1.10) и (2.10), и учитывая, что для правосторонней СЛАУ можно провести аналогичные рассуждения, запишем следующие формулы:
(2.11)
${{\tilde {A}}_{{n \times m}}} = {{V}_{{n \times r}}} \times {\text{diag}}{{\left( {\frac{1}{{{{\sigma }_{k}}}}} \right)}_{{r \times r}}} \times ({{U}_{{m \times r}}}){\kern 1pt} {\text{*}},$
(2.12)
$\tilde {A}_{{n \times r}}^{R} = {{V}_{{n \times r}}} \times {{\left( {{\text{diag}}{{{\left( {\frac{1}{{{{\sigma }_{k}}}}} \right)}}_{{r \times r}}}} \right)}^{{1/2}}},$
(2.13)
$\tilde {A}_{{r \times m}}^{L} = {{\left( {{\text{diag}}{{{\left( {\frac{1}{{{{\sigma }_{k}}}}} \right)}}_{{r \times r}}}} \right)}^{{1/2}}} \times ({{U}_{{m \times r}}}){\kern 1pt} {\text{*}},$
(2.14)
$\bar {A}_{{n \times (n - r)}}^{R} = {{V}_{{n \times (n - r)}}},$
(2.15)
$\bar {A}_{{(m - r) \times m}}^{L} = ({{U}_{{m \times (m - r)}}}){\kern 1pt} {\text{*}}.$
Следует отметить, что в виду равенства (1.8), при выводе выражений для левого и правого канонизаторов у разработчика имеется свобода выбора во внесении диагонального блока ${\text{diag}}{{\left( {\frac{1}{{{{\sigma }_{k}}}}} \right)}_{{r \times r}}}$ в выражение (2.12) или (2.13). Иными словами, выражения (2.12) и (2.13) при необходимости могут быть записаны в виде
$\tilde {A}_{{n \times r}}^{R} = {{V}_{{n \times r}}} \times {\text{diag}}{{\left( {\frac{1}{{{{\sigma }_{k}}}}} \right)}_{{r \times r}}}\quad {\text{и}}\quad \tilde {A}_{{r \times m}}^{L} = {{({{U}_{{m \times r}}})}^{*}}$
или

$\tilde {A}_{{n \times r}}^{R} = {{V}_{{n \times r}}}\quad {\text{и}}\quad \tilde {A}_{{r \times m}}^{L} = {\text{diag}}{{\left( {\frac{1}{{{{\sigma }_{k}}}}} \right)}_{{r \times r}}} \times ({{U}_{{m \times r}}}){\kern 1pt} {\text{*}}.$

2.3. Канонизация на основе QR- и LQ-разложений

В целях повышения эффективности вычислительного процесса сведем задачу канонизации исходной прямоугольной матрицы ${{A}_{{m \times n}}}$ к задаче вычисления QR-разложения. Будем использовать QR-разложение матрицы ${{A}_{{m \times n}}}$

(2.16)
${{A}_{{m \times n}}} \times {{E}_{{n \times n}}} = {{Q}_{{m \times m}}} \times {{R}_{{m \times n}}}.$
Здесь ${{E}_{{n \times n}}}$ – квадратная матрица перестановок столбцов матрицы ${{A}_{{m \times n}}}$, выбирающаяся из условия линейной независимости первых $r$ столбцов, ${{Q}_{{m \times m}}}$ – квадратная унитарная матрица размера $m \times m$, ${{R}_{{m \times n}}}$ – прямоугольная верхняя треугольная матрица размера $m \times n$. Заметим, что матрицу ${{R}_{{m \times n}}}$ в разложении (2.16) можно представить в виде блочной конструкции
(2.17)
${{R}_{{m \times n}}} = \left[ {\begin{array}{*{20}{c}} {{{R}_{{r \times r}}}}&{{{R}_{{r \times (n - r)}}}} \\ {{{O}_{{(m - r) \times r}}}}&{{{O}_{{(m - r) \times (n - r)}}}} \end{array}} \right].$
Здесь ${{R}_{{r \times r}}}$ – квадратная, обратимая, верхняя треугольная матрица размера $r \times r$, ${{R}_{{r \times (n - r)}}}$ – в общем случае прямоугольная матрица соответствующих размеров. Заметим, что обратная матрица для ${{R}_{{m \times n}}}$, вообще говоря, не существует, однако, используя обобщенное дополнение Шура, можно получить обобщенную обратную матрицу [6].

Теорема 1. Канонизация (1.4) может быть найдена на основе QR-разложения (2.16) матрицы ${{A}_{{m \times n}}}$ по следующим формулам:

(2.18)
$\bar {A}_{{n \times (n - r)}}^{R} = {{E}_{{n \times n}}} \times \left[ {\begin{array}{*{20}{c}} { - {{{({{R}_{{r \times r}}})}}^{{ - 1}}} \times {{R}_{{r \times (n - r)}}}} \\ {{{I}_{{(n - r) \times (n - r)}}}} \end{array}} \right],$
(2.19)
$\bar {A}_{{(m - r) \times m}}^{L} = ({{Q}_{{m \times (m - r)}}}){\kern 1pt} {\text{*}},$
(2.20)
$\tilde {A}_{{n \times r}}^{R} = {{E}_{{n \times n}}} \times \left[ {\begin{array}{*{20}{c}} {{{{({{R}_{{r \times r}}})}}^{{ - 1}}}} \\ {{{O}_{{(n - r) \times r}}}} \end{array}} \right],$
(2.21)
$\tilde {A}_{{r \times m}}^{L} = ({{Q}_{{m \times r}}}){\kern 1pt} {\text{*}},$
(2.22)
${{\tilde {A}}_{{n \times m}}} = {{E}_{{n \times n}}} \times \left[ {\begin{array}{*{20}{c}} {{{{({{R}_{{r \times r}}})}}^{{ - 1}}}} \\ {{{O}_{{(n - r) \times r}}}} \end{array}} \right] \times ({{Q}_{{m \times r}}}){\kern 1pt} {\text{*}}.$

Доказательство. Будем рассматривать QR-разложение исходной матрицы ${{A}_{{m \times n}}}$ (2.16). Используя представление (2.17) прямоугольной матрицы ${{R}_{{m \times n}}}$, запишем QR-разложение (2.16) следующим образом:

(2.23)
${{A}_{{m \times n}}} \times {{E}_{{n \times n}}} = {{Q}_{{m \times m}}} \times \left[ {\begin{array}{*{20}{c}} {{{R}_{{r \times r}}}}&{{{R}_{{r \times (n - r)}}}} \\ {{{O}_{{(m - r) \times r}}}}&{{{O}_{{(m - r) \times (n - r)}}}} \end{array}} \right].$
Учитывая, что ${{Q}_{{m \times m}}}$ является квадратной унитарной матрицей, можно записать выражение (2.23) в виде
(2.24)
$({{Q}_{{m \times m}}}){\kern 1pt} {\text{*}} \times {{A}_{{m \times n}}} \times {{E}_{{n \times n}}} = \left[ {\begin{array}{*{20}{c}} {{{R}_{{r \times r}}}}&{{{R}_{{r \times (n - r)}}}} \\ {{{O}_{{(m - r) \times r}}}}&{{{O}_{{(m - r) \times (n - r)}}}} \end{array}} \right].$
Представим матрицу, стоящую в правой части (2.24), в виде произведения матрицы из правой части (2.4) и блочной верхней треугольной обратимой
(2.25)
$({{Q}_{{m \times m}}}){\kern 1pt} {\text{*}} \times {{A}_{{m \times n}}} \times {{E}_{{n \times n}}} = \left[ {\begin{array}{*{20}{c}} {{{I}_{{r \times r}}}}&{{{O}_{{r \times (n - r)}}}} \\ {{{O}_{{(m - r) \times r}}}}&{{{O}_{{(m - r) \times (n - r)}}}} \end{array}~} \right] \times \left[ {\begin{array}{*{20}{c}} {{{R}_{{r \times r}}}}&{{{R}_{{r \times (n - r)}}}} \\ {{{O}_{{(m - r) \times r}}}}&{{{I}_{{(m - r) \times (n - r)}}}} \end{array}} \right].$
Обращая данную блочную верхнюю треугольную и умножая левую и правую части уравнения (2.25) на нее справа, получим
(2.26)
$({{Q}_{{m \times m}}}){\kern 1pt} {\text{*}} \times {{A}_{{m \times n}}} \times {{E}_{{n \times n}}} \times \left[ {\begin{array}{*{20}{c}} {{{{({{R}_{{r \times r}}})}}^{{ - 1}}}}&{ - {{{({{R}_{{r \times r}}})}}^{{ - 1}}} \times {{R}_{{r \times (n - r)}}}} \\ {{{O}_{{(n - r) \times r}}}}&{{{I}_{{(n - r) \times (n - r)}}}} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {{{I}_{{r \times r}}}}&{{{O}_{{r \times (n - r)}}}} \\ {{{O}_{{(m - r) \times r}}}}&{{{O}_{{(m - r) \times (n - r)}}}} \end{array}~} \right].$
Сравнивая равенства (2.4) и (2.26), и учитывая (2.2) и (2.3), получаем формулы (2.18)–(2.22).

Помимо QR-разложения для канонизации матрицы ${{A}_{{m \times n}}}$ можно применить и ее LQ-разложение

(2.27)
${{E}_{{m \times m}}} \times {{A}_{{m \times n}}} = {{L}_{{m \times n}}} \times {{Q}_{{n \times n}}}.$
Здесь ${{E}_{{m \times m}}}$ – квадратная матрица перестановок строк матрицы ${{A}_{{m \times n}}}$, выбирающаяся из условия линейной независимости первых $r$ строк, ${{L}_{{m \times n}}}$ – прямоугольная нижняя треугольная матрица размера $m \times n$, ${{Q}_{{n \times n}}}$ – квадратная унитарная матрица размера $n \times n$.

Теорема 2. Канонизация (1.4) может быть найдена на основе LQ-разложения (2.27) матрицы ${{A}_{{m \times n}}}$ по следующим формулам:

(2.28)
$\bar {A}_{{n \times (n - r)}}^{R} = ({{Q}_{{(n - r) \times n}}}){\kern 1pt} {\text{*}},$
(2.29)
$\bar {A}_{{(m - r) \times m}}^{L} = [\begin{array}{*{20}{c}} { - {{L}_{{(m - r) \times r}}} \times {{{\left( {{{L}_{{r \times r}}}} \right)}}^{{ - 1}}}}&{{{I}_{{(m - r) \times (m - r)}}}} \end{array}] \times {{E}_{{m \times m}}},$
(2.30)
$\tilde {A}_{{n \times r}}^{R} = \left( {{{Q}_{{r \times n}}}} \right){\kern 1pt} {\text{*}},$
(2.31)
$\tilde {A}_{{r \times m}}^{L} = [\begin{array}{*{20}{c}} {{{{({{L}_{{r \times r}}})}}^{{ - 1}}}}&{{{O}_{{r \times (m - r)}}}} \end{array}] \times {{E}_{{m \times m}}},$
(2.32)
${{\tilde {A}}_{{n \times m}}} = ({{Q}_{{r \times n}}}){\kern 1pt} {\text{*}} \times [\begin{array}{*{20}{c}} {{{{({{L}_{{r \times r}}})}}^{{ - 1}}}}&{{{O}_{{r \times \left( {m - r} \right)}}}} \end{array}] \times {{E}_{{m \times m}}}.$

Доказательство. Доказательство справедливости формул (2.28)–(2.32) вытекает из доказательства теоремы 1, если учесть, что LQ-разложение матрицы ${{A}_{{m \times n}}}$ совпадает с QR-разложением матрицы $({{A}_{{m \times n}}}){\kern 1pt} {\text{*}}$.

2.4. Канонизация на основе LU-разложения

Известно, например, из работ [15] и [16], что наиболее быстрыми алгоритмами разложения произвольных квадратных матриц являются алгоритмы вычисления LU-разложения, поэтому сведем задачу канонизации исходной квадратной матрицы ${{A}_{{m \times m}}}$ к задаче вычисления LU-разложения. Будем использовать разложение следующего вида:

(2.33)
${{P}_{{m \times m}}} \times {{A}_{{m \times m}}} \times {{Q}_{{m \times m}}} = {{L}_{{m \times m}}} \times {{U}_{{m \times m}}}.$
Здесь матрицы ${{P}_{{m \times m}}}$, ${{Q}_{{m \times m}}}$ – матрицы перестановок строк и столбцов матрицы ${{A}_{{m \times m}}}$, выбирающиеся из условия линейной независимости первых $r$ строк и столбцов, соответственно, ${{L}_{{m \times m}}}$ – невырожденная квадратная нижняя треугольная матрица размера $m \times m$, ${{U}_{{m \times m}}}$ – квадратная, возможно вырожденная, верхняя треугольная матрица размера $m \times m$. Заметим, что по аналогии с QR-разложением матрицу ${{U}_{{m \times m}}}$ в разложении (2.33) можно представить в виде блочной конструкции:
(2.34)
${{U}_{{m \times m}}} = \left[ {\begin{array}{*{20}{c}} {{{U}_{{r \times r}}}}&{{{U}_{{r \times (m - r)}}}} \\ {{{O}_{{(m - r) \times r}}}}&{{{O}_{{(m - r) \times (m - r)}}}} \end{array}} \right].$
Здесь ${{U}_{{r \times r}}}$ – квадратная, обратимая, верхняя треугольная матрица размера $r \times r$, ${{U}_{{r \times \left( {m - r} \right)}}}$ – необратимая, в общем случае прямоугольная матрица размера $r \times \left( {m - r} \right)$.

Теорема 3. Канонизация (14) может быть найдена на основе LU-разложения (2.33) матрицы ${{A}_{{m \times m}}}$ по следующим формулам:

(2.35)
$\bar {A}_{{m \times (m - r)}}^{R} = {{Q}_{{m \times m}}} \times \left[ {\begin{array}{*{20}{c}} { - {{{({{U}_{{r \times r}}})}}^{{ - 1}}} \times {{U}_{{r \times (m - r)}}}} \\ {{{I}_{{(m - r) \times (m - r)}}}} \end{array}} \right],$
(2.36)
$\bar {A}_{{\left( {m - r} \right) \times m}}^{L} = L_{{\left( {m - r} \right) \times m}}^{{ - 1}} \times {{P}_{{m \times m}}},$
(2.37)
$\tilde {A}_{{m \times r}}^{R} = {{Q}_{{m \times m}}} \times \left[ {\begin{array}{*{20}{c}} {{{{({{U}_{{r \times r}}})}}^{{ - 1}}}} \\ {{{O}_{{(m - r) \times r}}}} \end{array}} \right],$
(2.38)
$\tilde {A}_{{r \times m}}^{L} = L_{{r \times m}}^{{ - 1}} \times {{P}_{{m \times m}}},$
(2.39)
${{\tilde {A}}_{{m \times m}}} = {{Q}_{{m \times m}}} \times \left[ {\begin{array}{*{20}{c}} {{{{({{U}_{{r \times r}}})}}^{{ - 1}}}} \\ {{{O}_{{\left( {m - r} \right) \times r}}}} \end{array}} \right] \times L_{{r \times m}}^{{ - 1}} \times {{P}_{{m \times m}}}~.$

Здесь через $L_{{r \times m}}^{{ - 1}}$ и $L_{{\left( {m - r} \right) \times m}}^{{ - 1}}$ обозначены матрицы, составленные из первых r и последних (mr) строк матрицы $L_{{m \times m}}^{{ - 1}}$ соответственно.

Доказательство. Доказательство справедливости формул (2.35)–(2.39) строится с учетом (2.34) по аналогии с доказательством теоремы 1.

2.5. Алгоритм канонизации на основе матричных разложений

Основываясь на полученных результатах, сформулируем алгоритм, вычисляющий канонизацию произвольной числовой или дробно-рациональной (полиномиальной) прямоугольной матрицы ${{A}_{{m \times n}}}$.

АЛГОРИТМ

Шаг 1. Определить размер матрицы ${{A}_{{m \times n}}}$.

Шаг 2. Если $m > n$, то перейти к шагу 3, если $m < n$, то перейти к шагу 5, иначе перейти к шагу 7.

Шаг 3. Вычислить матрицы ${{Q}_{{m \times m}}}$ и ${{R}_{{m \times n}}}$, осуществив QR-разложение (2.16) матрицы ${{A}_{{m \times n}}}$.

Шаг 4. Вычислить канонизацию (1.4), сформировав матрицы $\bar {A}_{{n \times (n - r)}}^{R}$, $\bar {A}_{{(m - r) \times m}}^{L}$, $\tilde {A}_{{n \times r}}^{R}$, $\tilde {A}_{{r \times m}}^{L}$ и ${{\tilde {A}}_{{n \times m}}}$ в соответствии с формулами (2.18)–(2.22). Перейти к шагу 11.

Шаг 5. Вычислить матрицы ${{L}_{{m \times n}}}$ и ${{Q}_{{n \times n}}}$, осуществив LQ-разложение (2.27) матрицы ${{A}_{{m \times n}}}$.

Шаг 6. Вычислить канонизацию (1.4), сформировав матрицы $\bar {A}_{{n \times (n - r)}}^{R}$, $\bar {A}_{{(m - r) \times m}}^{L}$, $\tilde {A}_{{n \times r}}^{R}$, $\tilde {A}_{{r \times m}}^{L}$ и ${{\tilde {A}}_{{n \times m}}}$ в соответствии с формулами (2.28)–(2.32). Перейти к шагу 11.

Шаг 7. Вычислить матрицы ${{P}_{{m \times m}}}$, ${{L}_{{m \times m}}}$ и ${{U}_{{m \times m}}}$, осуществив LU-разложение (2.33) матрицы ${{A}_{{m \times n}}}$.

Шаг 8. Вычислить канонизацию (1.4), сформировав матрицы $\bar {A}_{{n \times (n - r)}}^{R}$, $\bar {A}_{{(m - r) \times m}}^{L}$, $\tilde {A}_{{n \times r}}^{R}$, $\tilde {A}_{{r \times m}}^{L}$ и ${{\tilde {A}}_{{n \times m}}}$ в соответствии с формулами (2.35)–(2.39). Перейти к шагу 11.

Шаг 9. Вычислить матрицы ${{U}_{{m \times m}}}$, ${{{\Sigma }}_{{m \times n}}}$ и ${{V}_{{n \times n}}}$, осуществив сингулярное разложение (2.5) матрицы ${{A}_{{m \times n}}}$.

Шаг 10. Вычислить канонизацию (1.4), сформировав матрицы $\bar {A}_{{n \times (n - r)}}^{R}$, $\bar {A}_{{(m - r) \times m}}^{L}$, $\tilde {A}_{{n \times r}}^{R}$, $\tilde {A}_{{r \times m}}^{L}$ и ${{\tilde {A}}_{{n \times m}}}$ в соответствии с формулами (2.11)–(2.15). Перейти к шагу 13.

Шаг 11. Вычислить число обусловленности $\kappa \left( A \right)$.

Шаг 12. Если ${{\left( {\kappa \left( A \right)} \right)}^{{ - 1}}} < u \cdot \left\| A \right\| \cdot \max \left( {m,n} \right)$, то перейти к шагу 9, иначе перейти к шагу 13.

Шаг 13. Конец алгоритма.

Следует отметить, что в большинстве пакетов прикладных программ (MATLAB, Wolfram Mathematica, Mathcad и т.д.) для вычисления матричных разложений, используемых предлагаемым алгоритмом, существуют эффективные вычислительные процедуры. Отметим, что шаг 11 предлагаемого алгоритма предполагает вычисление числа обусловленности $\kappa \left( A \right)$ матрицы ${{A}_{{m \times n}}}$, а шаг 12 – сравнение ${{\left( {\kappa \left( A \right)} \right)}^{{ - 1}}}$ с допустимым уровнем точности $u \cdot \left\| A \right\| \cdot \max \left( {m,n} \right)$, зависящим от машинной точности $u$, нормы исходной матрицы $\left\| A \right\|$ и максимальной размерности матрицы $\max \left( {m,n} \right)$ (см., например, [15] и [16]).

Далее предлагается способ вычисления числа обусловленности, возникающий в результате вычисления канонизации (1.4), позволяющий не осуществлять явного обращения исходной матрицы. Данный способ может быть особенно полезным в случаях, когда исходная матрица является прямоугольной или вырожденной.

2.6. Оценка числа обусловленности задачи канонизации

В вычислительной линейной алгебре для оценки обусловленности задачи, характеризующей поведение решения в условиях наличия достаточно малых возмущений исходных данных, как правило, используют относительное число обусловленности. Существуют теоремы (например, теоремы 12.1 и 12.2 из [15]), доказывающие, что в случае СЛАУ число обусловленности задачи вычисления правой части ${{B}_{{m \times p}}}$ по известной матрице ${{X}_{{m \times p}}}$ и задачи вычисления неизвестной матрицы ${{X}_{{m \times p}}}$ по известным матрицам $A_{{m \times m}}^{{ - 1}}$ и ${{B}_{{m \times p}}}$ эквивалентно числу обусловленности квадратной невырожденной матрицы ${{A}_{{m \times m}}}$

(2.40)
$\kappa ({{A}_{{m \times m}}}) = \left\| {{{A}_{{m \times m}}}} \right\| \cdot \left\| {A_{{m \times m}}^{{ - 1}}} \right\|.$
Кроме того, хотя обычно говорят о числе обусловленности квадратной невырожденной матрицы, известны также способы распространения данного понятия и на системы с прямоугольными матрицами, основанные, например, на замене обратной матрицы в формуле (2.40) на псевдообратную матрицу Мура–Пенроуза [15]

(2.41)
$\kappa ({{A}_{{m \times n}}}) = \left\| {{{A}_{{m \times n}}}} \right\| \cdot \left\| {A_{{n \times m}}^{ + }} \right\|.$

По аналогии с (2.41), в данной работе также будем использовать более широкое определение числа обусловленности, основанное на формальной замене обратной матрицы в формуле (2.40) на сводный канонизатор ${{\tilde {A}}_{{n \times m}}}$

(2.42)
$\kappa \left( {{{A}_{{m \times n}}}} \right) = \left\| {{{A}_{{m \times n}}}} \right\| \cdot \left\| {{{{\tilde {A}}}_{{n \times m}}}} \right\|.$
Рассматривая оценку числа обусловленности (2.42) можно видеть, что оно не требует обращения исходной матрицы. Вместо этого используется сводный канонизатор ${{\tilde {A}}_{{n \times m}}}$, получаемый по формуле (1.8). Используя формулу для вычисления сводного канонизатора (1.8) и свойства нормы, можно заменить равенство (2.42), на следующее неравенство:
(2.43)
$\kappa ({{A}_{{m \times n}}}) \leqslant \left\| {{{A}_{{m \times n}}}} \right\| \cdot \left\| {\tilde {A}_{{n \times r}}^{R}} \right\| \cdot \left\| {\tilde {A}_{{r \times m}}^{L}} \right\|,$
представляющее собой оценку числа обусловленности (2.42).

3. РЕЗУЛЬТАТЫ

Для иллюстрации работы предлагаемого алгоритма осуществим канонизацию выборки объемом $N = 100\,000$ в общем случае прямоугольных матриц. Количества строк и столбцов матриц являются независимыми дискретными случайными величинами, равномерно распределенными в интервале $\left[ {2,10} \right]$. Элементы матриц также являются независимыми дискретными случайными величинами, равномерно распределенными в интервале $\left[ { - 10,10} \right]$. На фиг. 1 представлены распределения чисел обусловленности задач обращения и вычисления канонизации матрицы для данной выборки, вычисляемые по формулам (2.40), (2.41) и (2.43) соответственно; на оси абсцисс отложено число обусловленности, на оси ординат – количество матриц с соответствующим числом обусловленности. По гистограммам видно, что предлагаемая оценка числа обусловленности (2.43) практически идентична оценкам (2.40), (2.41). Отметим, что количество матриц с большим числом обусловленности ($\kappa \left( A \right) > {{10}^{3}}$) достаточно невелико, однако не равно нулю. На фиг. 2 показаны значения относительной ошибки канонизации, определяемые по следующей формуле:

$\delta {{\tilde {A}}_{{n \times m}}} = \left\| {\tilde {A}_{{r \times m}}^{L} \times {{A}_{{m \times n}}} \times \tilde {A}_{{n \times r}}^{R} - {{I}_{{r \times r}}}} \right\|.$
Видно, что относительная ошибка $\delta {{\tilde {A}}_{{n \times m}}}$ не превышает $u \cdot \max \left( {m,n} \right) \cdot \kappa \left( {{{A}_{{m \times n}}}} \right)$ при любых размерах и значениях числа обусловленности матрицы ${{A}_{{m \times n}}}$.

Фиг. 1.

Распределение чисел обусловленности для рассматриваемой выборки.

Фиг. 2.

Относительная ошибка вычисления канонизации для рассматриваемой выборки.

Далее рассмотрим процесс канонизации плохо обусловленной обратной по отношению к матрице Гильберта матрицы размера $5 \times 5$

$T = \left[ {\begin{array}{*{20}{c}} {25}&{ - 300}&{1050}&{ - 1400}&{630} \\ { - 300}&{4800}&{ - 18900}&{26880}&{ - 12600} \\ {1050}&{18900}&{79380}&{ - 117600}&{56700} \\ { - 1400}&{26880}&{ - 117600}&{179200}&{ - 88200} \\ {630}&{ - 12600}&{56700}&{ - 88200}&{44100} \end{array}} \right].$
Отметим, что она выбрана в качестве примера, поскольку в отличие от матрицы Гильберта ее элементы являются целыми числами и точно представимы числами с плавающей точкой, что исключает возможность влияния на процесс канонизации неточности представления исходных данных.

Осуществляя ее канонизацию в соответствии с предлагаемым алгоритмом, получаем следующие матрицы:

${{\tilde {T}}^{L}} = \left[ {\begin{array}{*{20}{c}} 0&0&0&{1.0000}&0 \\ 0&0&{1.0000}&{0.7500}&0 \\ 0&{1.0000}&{0.7619}&{0.3571}&0 \\ 0&{0.6000}&{0.8571}&{0.9643}&{1.0000} \\ {1.0000}&{0.8333}&{0.7143}&{0.6250}&{0.5556} \end{array}} \right],$
${{\tilde {T}}^{R}} = \left[ {\begin{array}{*{20}{c}} { - 0.0007}&{0.0152}&{ - 0.1200}&{ - 0.3556}&{1.0000} \\ 0&{0.0008}&{ - 0.0167}&{ - 0.1111}&{0.5000} \\ 0&0&{ - 0.0024}&{ - 0.0423}&{0.3333} \\ 0&0&0&{ - 0.0139}&{0.2500} \\ 0&0&0&0&{0.2000} \end{array}} \right],$
$\tilde {T} = \left[ {\begin{array}{*{20}{c}} {1.0000}&{0.5000}&{0.3333}&{0.2500}&{0.2000} \\ {0.5000}&{0.3333}&{0.2500}&{0.2000}&{0.1667} \\ {0.3333}&{0.2500}&{0.2000}&{0.1667}&{0.1429} \\ {0.2500}&{0.2000}&{0.1667}&{0.1429}&{0.1250} \\ {0.2000}&{0.1667}&{0.1429}&{0.1250}&{0.1111} \end{array}} \right].$
Поскольку матрица $T$ является невырожденной, матрицы ${{\bar {T}}^{L}}$ и ${{\bar {T}}^{R}}$ не существуют. Числа обусловленности, вычисленные по формулам (2.40) и (2.42), совпадают и равны $4.7661 \times {{10}^{5}}$; максимальная ошибка составляет $u \cdot \max (m,n) \cdot \kappa ({{A}_{{m \times n}}}) = 2.9104 \times {{10}^{{ - 10}}}$, а относительная ошибка равна $\delta {{\tilde {A}}_{{n \times m}}} = 6.5157 \times {{10}^{{ - 12}}}$.

Теперь рассмотрим процесс канонизации прямоугольной матрицы

$A = \left[ {\begin{array}{*{20}{c}} 1&9&8&4&9 \\ { - 1}&{ - 9}&{ - 8}&{ - 7}&{ - 6} \\ 4&1&2&7&6 \end{array}~} \right].$
Осуществляя ее канонизацию в соответствии с предлагаемым алгоритмом, получаем следующие матрицы:
${{\bar {A}}^{R}} = \left[ {\begin{array}{*{20}{c}} { - 0.4459}&{ - 0.7408} \\ { - 0.6325}&{0.1059} \\ {0.6203}&{ - 0.5116} \\ {0.0904}&{0.2985} \\ {0.0904}&{0.2985} \end{array}} \right],$
${{\tilde {A}}^{L}} = \left[ {\begin{array}{*{20}{c}} { - 0.0642}&0&0 \\ {0.2271}&{0.2420}&0 \\ {0.0120}&{0.0819}&{0.1420} \end{array}} \right],$
${{\tilde {A}}^{R}} = \left[ {\begin{array}{*{20}{c}} { - 0.0642}&{ - 0.0149}&{0.4980} \\ { - 0.5774}&{ - 0.1344}&{ - 0.4872} \\ { - 0.5132}&{ - 0.1195}&{ - 0.2753} \\ { - 0.2566}&{ - 0.7858}&{0.4684} \\ { - 0.5774}&{0.5916}&{0.4684} \end{array}} \right],$
$\tilde {A} = \left[ {\begin{array}{*{20}{c}} {0.0067}&{0.0372}&{0.0707} \\ {0.0007}&{ - 0.0724}&{ - 0.0692} \\ {0.0025}&{ - 0.0515}&{ - 0.0391} \\ { - 0.1563}&{ - 0.1518}&{0.0665} \\ {0.1770}&{0.1815}&{0.0665} \end{array}} \right].$
Поскольку все строки исходной матрицы $A$ линейно независимы, ее левый делитель нуля (матрица ${{\bar {A}}^{L}}$) не существует.

Числа обусловленности, вычисляемые по формулам (2.41) и (2.43), оказались приблизительно равны – разница между ними оказалась равной $8.8818 \times {{10}^{{ - 16}}}$, кроме того, поскольку канонизация данной матрицы осуществлялась методом LQ-разложения, оценка ее числа обусловленности является точной, то есть совпадает с числом обусловленности, полученным по формуле (2.42). Максимальная ошибка составляет $u \cdot \max (m,n) \cdot \kappa ({{A}_{{m \times n}}}) = 4.4409 \times {{10}^{{ - 15}}}$, а относительная ошибка равна $\delta {{\tilde {A}}_{{n \times m}}} = 7.2075 \times {{10}^{{ - 16}}}$.

4. ОБСУЖДЕНИЕ

Определим области применения предлагаемого алгоритма канонизации. Отметим, что алгоритмы матричных разложений являются устойчивыми и могут быть применены к матрицам любого размера. Кроме того, из работы [14] известно, что для решения плохо обусловленных СЛАУ целесообразно применять алгоритм сингулярного разложения с последующей аппроксимацией плохо обусловленной матрицы ${{{\Sigma }}_{{m \times n}}}$ хорошо обусловленной матрицей более низкого ранга. Таким образом, с помощью предлагаемого алгоритма канонизации можно решать переопределенные, недоопределенные, вырожденные, а также плохо обусловленные СЛАУ. Однако следует отметить, что вычислительная сложность такого разложения, например, методом Голуба–Райнша (Golub-Reinsch method) [19] составляет порядка $4{{m}^{2}}n + 8m{{n}^{2}} + 9{{n}^{3}}$, а методом R-SVD – порядка $4{{m}^{2}}n + 22{{n}^{3}}$ операций с плавающей точкой, что существенно медленнее стандартных алгоритмов вычисления QR- или LU-разложений. Так, например, алгоритм QR-разложения, основанный на преобразованиях Хаусхолдера, также является устойчивым и требует лишь порядка $2m{{n}^{3}} - 2{\text{/}}3{{n}^{3}}$ операций, а для квадратных матриц LU-разложение позволяет выполнить канонизацию существенно быстрее, поскольку требует лишь порядка $2{\text{/}}3{{m}^{3}}$ операций с плавающей точкой [15]. Таким образом, для вычисления канонизации представляется целесообразным использовать сингулярное разложение только в случаях, когда требуется повышенная точность результата канонизации или матрица является плохо обусловленной. Во всех остальных случаях желательно использовать более эффективные с вычислительной точки зрения алгоритмы, например, QR- и LU-разложения.

Следует отметить, что хотя LU-разложение может применяться и к прямоугольным матрицам, более целесообразным представляется в таких случаях использовать QR- или LQ-разложения, поскольку исходная прямоугольная матрица по определению является вырожденной и требует более точных методов вычисления базисов фундаментальных подпространств матрицы ${{A}_{{m \times n}}}$.

Отдельно укажем на тот факт, что формулы (2.18)–(2.22) и (2.28)–(2.32) напрямую не требуют обратимости матриц ${{R}_{{m \times n}}}$ и ${{L}_{{m \times n}}}$ соответственно, что позволяет осуществлять на их основе канонизацию матриц произвольного ранга и размера. Кроме того, хотя в формулах (2.18), (2.20), (2.29) и (2.31) формально присутствует обращение матриц ${{R}_{{r \times r}}}$ и ${{L}_{{r \times r}}}$, оно, с учетом того, что они являются треугольными, на практике сводится к применению эффективных алгоритмов прямой и обратной подстановок. Как и в случае с QR-разложением, в формулах (2.35)–(2.39) формально присутствуют операции обращения матриц ${{L}_{{m \times m}}}$ и ${{U}_{{r \times r}}}$, однако обе матрицы являются треугольными обратимыми и, следовательно, для вычисления можно также применять эффективные алгоритмы прямой и обратной подстановок.

Отметим, что на практике также полезным свойством канонизации на основе QR- или LQ-разложений является возможность получения ортонормированного левого или правого делителя нуля и канонизатора, позволяющих более тонко контролировать норму решения (1.10), варьируя произвольную матрицу ${{\eta }_{{\left( {n - r} \right) \times p}}}$. Также заметим, что формула оценки числа обусловленности (2.43) с вычислительной точки зрения существенно проще формулы (2.42), поскольку не требует перемножения матриц $\tilde {A}_{{n \times r}}^{R}$ и $\tilde {A}_{{r \times m}}^{L}$. Равенство в (2.43) достигается в случае, если один из канонизаторов, правый или левый, является ортонормированным. Учитывая формулы (2.21) и (2.30), можно видеть, что данное условие выполняется при вычислении канонизации методами QR- или LQ-разложений, в результате которых оказывается унитарной матрица $\tilde {A}_{{r \times m}}^{L}$ или $\tilde {A}_{{n \times r}}^{R}$ соответственно. Если для оценки обусловленности задачи канонизации используется формула (2.42), то непосредственно перед ее вычислением возникает необходимость вычисления сводного канонизатора ${{\tilde {A}}_{{n \times m}}}$ путем перемножения правого и левого канонизаторов, что несколько снижает ее вычислительную эффективность перед оценкой (2.43). Таким образом, алгоритм канонизации матрицы, основанный на QR- или LQ-разложении, позволяет использовать более эффективную с вычислительной точки зрения оценку обусловленности (2.43) без потери точности в сравнении с оценкой (2.42).

5. ЗАКЛЮЧЕНИЕ

В данной работе предложены новые методы нахождения канонизации матрицы, основанные на ее LU-, QR- или LQ-разложении, кроме того, представлены формулы, позволяющие осуществлять оценку обусловленности задачи канонизации, не осуществляя явного обращения исходной матрицы. Также на основе предлагаемых методов разработан и реализован на языке программирования MATLAB эффективный алгоритм вычисления канонизации матриц, позволяющий существенно повысить как устойчивость, так и быстродействие вычислительного процесса. Показано, что наиболее эффективным методом канонизации квадратных, возможно вырожденных матриц, является метод, основанный на LU-разложении произвольных прямоугольных матриц – метод, основанный на QR- или LQ-разложении, а плохо обусловленных матриц – метод, основанный на сингулярном разложении. Показаны точность и эффективность оценки обусловленности матрицы, получаемой на основе вычисления норм ее левого и правого канонизаторов. Доказано, что наиболее эффективную с вычислительной точки зрения оценку числа обусловленности, не теряющую при этом своей точности, можно получить, вычисляя канонизацию методами, основанными на QR- или LQ-разложениях.

Полученные результаты могут быть использованы при решении задач теории автоматического управления, теории систем и других предметных областей, приводящих к переопределенным, недоопределенным, вырожденным или плохо обусловленным СЛАУ.

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

  1. Буков В.Н., Кулабухов В.С., Максименко И.М., Рябченко В.Н. Вложение систем // Автоматика и телемехан. 1999. № 8. С. 61–73. Autom. Remote Control. 1999. V. 60:8. P. 1106–1116.

  2. Буков В.Н., Рябченко В.Н. Вложение систем. Проматрицы // Автоматика и телемехан. 2000. № 4. С. 20–33. Autom. Remote Control. 2000. V. 61:4. P. 554–567.

  3. Буков В.Н., Горюнов С.В., Рябченко В.Н. Анализ и синтез матричных линейных систем. Сравнение подходов // Автоматика и телемехан. 2000. № 11. С. 3–43. Autom. Remote Control.2000.V. 61:11.P.1759–1795.

  4. Буков В.Н., Рябченко В.Н. Вложение систем. Линейное управление // Автоматика и телемехан. 2001. № 1. С. 50–66. Autom. Remote Control. 2001. V. 62:1. P. 39–54.

  5. Буков В.Н., Косьянчук В.В. Вложение систем. Линейное наблюдение // Автоматика и телемехан. 2001. № 2. С. 3–15. Autom. Remote Control. 2001. V. 62:2. P. 169–180.

  6. Буков В.Н. Вложение систем. Аналитический подход к анализу и синтезу матричных систем. Калуга: Изд-во научн. лит. Н.Ф. Бочкаревой, 2006. 720 с.

  7. Буков В.Н., Горюнов С.В. Обращение и канонизация блочных матриц // Матем. заметки. 2006. Т. 79. № 5. С. 662–673. Math. Notes. 2006. V. 79:5. P. 614–624.

  8. Буков В.Н., Рябченко В.Н., Косьянчук В.В., Зыбин Е.Ю. Решение линейных матричных уравнений методом канонизации // Вестн. Киевского университета. Серия: Физ.-матем. Науки. 2002. № 1. С. 19–28.

  9. Асанов А.З., Демьянов Д.Н. Аналитический синтез функциональных наблюдателей // Известия вузов. Авиационная техн. 2013. № 4. С. 13–18.

  10. Асанов А.З., Демьянов Д.Н. Аналитический синтез функциональных наблюдателей для систем с сигнальными возмущениями //Автометрия. 2014. Т. 50. № 6. С. 111–119.

  11. Волков В.Г., Демьянов Д.Н. Синтез функциональных наблюдателей с использованием линейных матричных неравенств // Автометрия. 2016. Т. 52. № 4. С. 21–29.

  12. Strang G. The fundamental theorem of linear algebra // The American Mathematical Monthly. 1993. V. 100. № 9. P. 848–855.

  13. Strang G. Linear algebra and its applications, fourth edition. Thomson, 2006. P. 487.

  14. Свидетельство о государственной регистрации программы для ЭВМ 2015617953 РФ. Программа канонизации матриц / И.З. Ахметзянов. Правообладатель ФГАОУ ВПО КФУ. № 2015614621. Заявл. 29.05.2015. Опубл. 20.08.2015. 1 с.

  15. Trefethen L.N., Bau D. Numerical linear algebra. Siam, 1997. P. 361.

  16. Golub G.H., Van Loan C.F. Matrix computations. JHU Press, 2012. P. 756.

  17. Hager W.W. Condition estimates // SIAM Journal on scientific and statistical computing, 1984. V. 5. № 2. P. 311–316.

  18. Higham N.J., Tisseur F. A block algorithm for matrix 1-norm estimation, with an application to 1-norm pseudospectra // SIAM Journal on Matrix Analysis and Applications, 2000. V. 21. № 4. P. 1185–1201.

  19. Golub G.H., Reinsch C. Singular value decomposition and least squares solutions // Numerische Mathematic. 1970. V. 14. № 5. P. 403–420.

Дополнительные материалы отсутствуют.

Инструменты

Журнал вычислительной математики и математической физики