Журнал вычислительной математики и математической физики, 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
Аннотация
Рассматривается задача решения переопределенных, недоопределенных, вырожденных или плохо обусловленных СЛАУ с использованием технологии канонизации матриц. Предлагается модификация существующего алгоритма канонизации, основанная на применении матричных разложений. Получены расчетные формулы, использующие LU-разложение, QR-разложение, LQ-разложение или сингулярное разложение в зависимости от свойств исходной матрицы. Предлагается метод оценки обусловленности задачи канонизации, основанный на вычислении норм матриц, получаемых в результате канонизации, не требующий обращения исходной матрицы. Приведен пошаговый алгоритм канонизации матриц в самом общем случае, реализованный в виде функции на языке программирования MATLAB. Проведено тестирование разработанного приложения на выборке из 100 000 случайным образом сгенерированных матриц, подтвердившее корректность и эффективность его работы. Библ. 19. Фиг. 2.
ВВЕДЕНИЕ
Решение многих прикладных задач математического моделирования, теории автоматического управления и теории систем [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. ОБЩИЕ СВЕДЕНИЯ О КАНОНИЗАЦИИ МАТРИЦ
Пусть рассматривается левосторонняя СЛАУ общего вида
Здесь и далее 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}}},$(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}).$Известны соотношения (строго обоснованные в работах [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.8)
${{\tilde {A}}_{{n \times m}}} = \tilde {A}_{{n \times r}}^{R} \times \tilde {A}_{{r \times m}}^{L}.$Используя соотношения (1.5) и (1.8), можно показать, что сводный канонизатор ${{\tilde {A}}_{{m \times n}}}$ является обобщением понятия обратной матрицы ${{({{A}_{{m \times n}}})}^{{ - 1}}}$. Кроме того, в работе [8] доказываются теоремы, утверждающие, что на основе условия (1.3) и канонизации (1.4) можно сформулировать условие разрешимости СЛАУ (1.1)
и в совокупности с соотношениями (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}}}.$Таким образом, условие (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],$(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} *.$После подстановки полученного разложения (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}}}.$(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],$(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.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}}}.$(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.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}}}.$(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].$Теорема 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.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.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].$(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.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.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].$Помимо 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}}}.$Теорема 2. Канонизация (1.4) может быть найдена на основе LQ-разложения (2.27) матрицы ${{A}_{{m \times n}}}$ по следующим формулам:
(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}}}.$(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].$Теорема 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.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 и последних (m–r) строк матрицы $L_{{m \times m}}^{{ - 1}}$ соответственно.
Доказательство. Доказательство справедливости формул (2.35)–(2.39) строится с учетом (2.34) по аналогии с доказательством теоремы 1.
АЛГОРИТМ
Шаг 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.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\|.$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 показаны значения относительной ошибки канонизации, определяемые по следующей формуле:
Далее рассмотрим процесс канонизации плохо обусловленной обратной по отношению к матрице Гильберта матрицы размера $5 \times 5$
Осуществляя ее канонизацию в соответствии с предлагаемым алгоритмом, получаем следующие матрицы:
Теперь рассмотрим процесс канонизации прямоугольной матрицы
Числа обусловленности, вычисляемые по формулам (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-разложениях.
Полученные результаты могут быть использованы при решении задач теории автоматического управления, теории систем и других предметных областей, приводящих к переопределенным, недоопределенным, вырожденным или плохо обусловленным СЛАУ.
Список литературы
Буков В.Н., Кулабухов В.С., Максименко И.М., Рябченко В.Н. Вложение систем // Автоматика и телемехан. 1999. № 8. С. 61–73. Autom. Remote Control. 1999. V. 60:8. P. 1106–1116.
Буков В.Н., Рябченко В.Н. Вложение систем. Проматрицы // Автоматика и телемехан. 2000. № 4. С. 20–33. Autom. Remote Control. 2000. V. 61:4. P. 554–567.
Буков В.Н., Горюнов С.В., Рябченко В.Н. Анализ и синтез матричных линейных систем. Сравнение подходов // Автоматика и телемехан. 2000. № 11. С. 3–43. Autom. Remote Control.2000.V. 61:11.P.1759–1795.
Буков В.Н., Рябченко В.Н. Вложение систем. Линейное управление // Автоматика и телемехан. 2001. № 1. С. 50–66. Autom. Remote Control. 2001. V. 62:1. P. 39–54.
Буков В.Н., Косьянчук В.В. Вложение систем. Линейное наблюдение // Автоматика и телемехан. 2001. № 2. С. 3–15. Autom. Remote Control. 2001. V. 62:2. P. 169–180.
Буков В.Н. Вложение систем. Аналитический подход к анализу и синтезу матричных систем. Калуга: Изд-во научн. лит. Н.Ф. Бочкаревой, 2006. 720 с.
Буков В.Н., Горюнов С.В. Обращение и канонизация блочных матриц // Матем. заметки. 2006. Т. 79. № 5. С. 662–673. Math. Notes. 2006. V. 79:5. P. 614–624.
Буков В.Н., Рябченко В.Н., Косьянчук В.В., Зыбин Е.Ю. Решение линейных матричных уравнений методом канонизации // Вестн. Киевского университета. Серия: Физ.-матем. Науки. 2002. № 1. С. 19–28.
Асанов А.З., Демьянов Д.Н. Аналитический синтез функциональных наблюдателей // Известия вузов. Авиационная техн. 2013. № 4. С. 13–18.
Асанов А.З., Демьянов Д.Н. Аналитический синтез функциональных наблюдателей для систем с сигнальными возмущениями //Автометрия. 2014. Т. 50. № 6. С. 111–119.
Волков В.Г., Демьянов Д.Н. Синтез функциональных наблюдателей с использованием линейных матричных неравенств // Автометрия. 2016. Т. 52. № 4. С. 21–29.
Strang G. The fundamental theorem of linear algebra // The American Mathematical Monthly. 1993. V. 100. № 9. P. 848–855.
Strang G. Linear algebra and its applications, fourth edition. Thomson, 2006. P. 487.
Свидетельство о государственной регистрации программы для ЭВМ 2015617953 РФ. Программа канонизации матриц / И.З. Ахметзянов. Правообладатель ФГАОУ ВПО КФУ. № 2015614621. Заявл. 29.05.2015. Опубл. 20.08.2015. 1 с.
Trefethen L.N., Bau D. Numerical linear algebra. Siam, 1997. P. 361.
Golub G.H., Van Loan C.F. Matrix computations. JHU Press, 2012. P. 756.
Hager W.W. Condition estimates // SIAM Journal on scientific and statistical computing, 1984. V. 5. № 2. P. 311–316.
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.
Golub G.H., Reinsch C. Singular value decomposition and least squares solutions // Numerische Mathematic. 1970. V. 14. № 5. P. 403–420.
Дополнительные материалы отсутствуют.
Инструменты
Журнал вычислительной математики и математической физики