Свойства верхней треугольной матрицы. Треугольная матрица

В которой все элементы ниже главной диагонали равны нулю.

Нижнетреугольная матрица - квадратная матрица, в которой все элементы выше главной диагонали равны нулю.

Унитреугольная матрица (верхняя или нижняя) - треугольная матрица, в которой все элементы на главной диагонали равны единице.

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

Решение систем линейных уравнений с треугольной матрицей (обратный ход) не представляет сложностей.

Свойства

  • Определитель треугольной матрицы равен произведению элементов на её главной диагонали.
  • Определитель унитреугольной матрицы равен единице.
  • Множество невырожденных верхнетреугольных матриц порядка n по умножению с элементами из поля k образует группу , которая обозначается UT (n , k ) или UT n (k ).
  • Множество невырожденных нижнетреугольных матриц порядка n по умножению с элементами из поля k образует группу, которая обозначается LT (n , k ) или LT n (k ).
  • Множество верхних унитреугольных матриц с элементами из поля k образует подгруппу UT n (k ) по умножению, которая обозначается SUT (n , k ) или SUT n (k ). Аналогичная подгруппа нижних унитреугольных матриц обозначается SLT (n , k ) или SLT n (k ).
  • Множество всех верхнетреугольных матриц с элементами из кольца k образует алгебру относительно операций сложения, умножения на элементы кольца и перемножения матриц. Аналогичное утверждение справедливо для нижнетреугольных матриц.
  • Группа UT n разрешима , а её унитреугольная подгруппа SUT n нильпотентна .

См. также


Wikimedia Foundation . 2010 .

Смотреть что такое "Треугольная матрица" в других словарях:

    треугольная матрица - — треугольная матрица Квадратная матрица, у которой равны нулю все элементы, расположенные под или над главной диагональю (ср. Диагональная матрица). В первом случае имеем… …

    Треугольная матрица - квадратная матрица, у которой равны нулю все элементы, расположенные под или над главной диагональю (ср. Диагональная матрица). В первом случае имеем верхнюю Т.м. во втором нижнюю …

    Квадратная матрица, у к рой все элементы, расположенные ниже (или выше) главной диагонали, равны нулю. В первом случае матрица наз. верхней треугольной матрицей, во втором нижней треугольной матрицей. Определитель Т. м. равен произведению всех ее … Математическая энциклопедия

    Треугольная матрица МОБ - матрица коэффициентов межотраслевого баланса (МОБ), соответствующая такой производственной системе, в которой любой продукт может затрачиваться в своем собственном производстве и в производстве любого следующего… … Экономико-математический словарь

    треугольная матрица МОБ - Матрица коэффициентов межотраслевого баланса (МОБ), соответствующая такой производственной системе, в которой любой продукт может затрачиваться в своем собственном производстве и в производстве любого следующего за ним продукта, но никакой… … Справочник технического переводчика

    Треугольная матрица квадратная матрица, в которой все элементы ниже или выше главной диагонали равны нулю. Пример верхнетреугольной матрицы Верхнетреугольная матрица квадратная матрица, в которой все элементы ниже главной диагонали равны нулю.… … Википедия

    Блочно-треугольная матрица - – матрица, которую можно разбить на подматрицы таким образом, чтобы по одну сторону ее «главной диагонали«, составленной из подматриц, стояли нули. Примерами блочно треугольных матриц могут служить… … Экономико-математический словарь

    блочно-треугольная матрица - Матрица, которую можно разбить на подматрицы таким образом, чтобы по одну сторону ее «главной диагонали«, составленной из подматриц, стояли нули. Примерами блочно треугольных матриц могут служить треугольная матрица и блочно диагональная матрица … Справочник технического переводчика

    Матрица - система элементов (чисел, функций и других величин), расположенных в виде прямоугольной таблицы, над которой можно производить определенные действия. Таблица имеет следующий вид: Элемент матрицы в общем виде обозначается aij это… … Экономико-математический словарь

    матрица - Логическая сеть, сконфигурированная в виде прямоугольного массива пересечений входных/выходных каналов. матрица Система элементов (чисел, функций и других величин), расположенных в виде прямоугольной… … Справочник технического переводчика

Верхняя треугольная матрица

Треугольная матрица - квадратная матрица , в которой все элементы ниже или выше главной диагонали равны нулю.

Пример верхнетреугольной матрицы

Верхнетреугольная матрица - квадратная матрица , в которой все элементы ниже главной диагонали равны нулю.

Нижнетреугольная матрица - квадратная матрица, в которой все элементы выше главной диагонали равны нулю.

Унитреугольная матрица (верхняя или нижняя) - треугольная матрица, в которой все элементы на главной диагонали равны единице.

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

Решение систем линейных уравнений с треугольной матрицей (обратный ход) не представляет сложностей.

Свойства

  • Определитель треугольной матрицы равен произведению элементов на её главной диагонали.
  • Определитель унитреугольной матрицы равен единице.
  • Множество невырожденных верхнетреугольных матриц порядка n по умножению с элементами из поля k образует группу , которая обозначается UT (n , k ) или UT n (k ).
  • Множество невырожденных нижнетреугольных матриц порядка n по умножению с элементами из поля k образует группу, которая обозначается LT (n , k ) или LT n (k ).
  • Множество верхних унитреугольных матриц с элементами из поля k образует подгруппу UT n (k ) по умножению, которая обозначается SUT (n , k ) или SUT n (k ). Аналогичная подгруппа нижних унитреугольных матриц обозначается SLT (n , k ) или SLT n (k ).
  • Множество всех верхнетреугольных матриц с элементами из кольца k образует алгебру относительно операций сложения, умножения на элементы кольца и перемножения матриц. Аналогичное утверждение справедливо для нижнетреугольных матриц.
  • Группа UT n разрешима , а её унитреугольная подгруппа SUT n нильпотентна .

См. также

Wikimedia Foundation . 2010 .

Смотреть что такое "Верхняя треугольная матрица" в других словарях:

    Треугольная матрица квадратная матрица, в которой все элементы ниже или выше главной диагонали равны нулю. Пример верхнетреугольной матрицы Верхнетреугольная матрица … Википедия

    Треугольная матрица квадратная матрица, в которой все элементы ниже или выше главной диагонали равны нулю. Пример верхнетреугольной матрицы Верхнетреугольная матрица квадратная матрица, в которой все элементы ниже главной диагонали равны нулю.… … Википедия

    Треугольная матрица квадратная матрица, в которой все элементы ниже или выше главной диагонали равны нулю. Пример верхнетреугольной матрицы Верхнетреугольная матрица квадратная матрица, в которой все элементы ниже главной диагонали равны нулю.… … Википедия

    Для улучшения этой статьи желательно?: Найти и оформить в виде сносок ссылки на авторитетные источники, подтверждающие написанное. Проставив сноски, внести более точные указания на источники. Добавить иллюстрации … Википедия

    Представление симметричной положительно определённой матрицы в виде, где нижняя треугольная матрица со строго положительными элементами на диагонали. Иногда разложение записывается в эквивалентной форме: , где верхняя треугольная матрица.… … Википедия

    SFLASH асимметричный алгоритм цифровой подписи рекомендованный проектом NESSIE European в 2003 году. SFLASH основан на Matsumoto Imai(MI) схеме, так же называемой C*. Алгоритм принадлежит к семейству многомерных схем с открытым ключом, то… … Википедия

    Процесс ортогонализации, алгоритм построения для данной линейно независимой системы векторов евклидова или эрмитова пространства V ортогональной системы ненулевых векторов, порождающих то же самое подпространство в V. Наиболее известным является… … Математическая энциклопедия

    Коэффициент корреляции - (Correlation coefficient) Коэффициент корреляции это статистический показатель зависимости двух случайных величин Определение коэффициента корреляции, виды коэффициентов корреляции, свойства коэффициента корреляции, вычисление и применение… … Энциклопедия инвестора

    Ослабления м е т о д, метод итерационного решения системы линейных алгебраич. уравнений Ах=b, элементарный шаг к рого состоит в изменении только одной компоненты вектора неизвестных, причем номера изменяемых компонент выбираются в нек ром циклич … Математическая энциклопедия

Матрица - это особый объект в математике. Изображается в форме прямоугольной или квадратной таблицы, сложенной из определенного числа строк и столбцов. В математике имеется большое разнообразие видов матриц, различающихся по размерам или содержанию. Числа ее строк и столбцов именуются порядками. Эти объекты употребляются в математике для упорядочивания записи систем линейных уравнений и удобного поиска их результатов. Уравнения с использованием матрицы решаются посредством метода Карла Гаусса, Габриэля Крамера, миноров и алгебраических дополнений, а также многими другими способами. Базовым умением при работе с матрицами является приведение к стандартному виду. Однако для начала давайте разберемся, какие виды матриц выделяют математики.

Нулевой тип

Все компоненты этого вида матрицы - нули. Между тем, число ее строк и столбцов абсолютно различно.

Квадратный тип

Количество столбцов и строк этого вида матрицы совпадает. Иначе говоря, она представляет собой таблицу формы "квадрат". Число ее столбцов (или строк) именуются порядком. Частными случаями считается существование матрицы второго порядка (матрица 2x2), четвертого порядка (4x4), десятого (10x10), семнадцатого (17x17) и так далее.

Вектор-стобец

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

Вид, аналогичный предыдущему. Состоит из трех численных элементов, в свою очередь организованных в одну строку.

Диагональный тип

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

Подвид диагональной матрицы. Все ее числовые значения являются единицами. Используя единичный тип матричных таблиц, выполняют ее базовые преобразования или находят матрицу, обратную исходной.

Канонический тип

Канонический вид матрицы считается одним из основных; приведение к нему часто необходимо для работы. Число строк и столбцов в канонической матрице различно, она необязательно принадлежит к квадратному типу. Она несколько похожа на единичную матрицу, однако в ее случае не все компоненты основной диагонали принимают значение, равное единице. Главнодиагональных единиц может быть две, четыре (все зависит от длины и ширины матрицы). Или единицы могут не иметься вовсе (тогда она считается нулевой). Остальные компоненты канонического типа, как и элементы диагонального и единичного, равны нулю.

Треугольный тип

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

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

В нижнетреугольной (рис. 2), наоборот, элементы, располагающиеся в нижней части матрицы, равны нулю.

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

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

Приведение к треугольному виду

Как же привести матрицу к треугольному виду? Чаще всего в заданиях нужно преобразовать матрицу в треугольный вид, чтобы найти ее детерминант, по-другому называемый определителем. Выполняя данную процедуру, крайне важно "сохранить" главную диагональ матрицы, потому что детерминант треугольной матрицы равен именно произведению компонентов ее главной диагонали. Напомню также альтернативные методы нахождения определителя. Детерминант квадратного типа находится при помощи специальных формул. Например, можно воспользоваться методом треугольника. Для других матриц используют метод разложения по строке, столбцу или их элементам. Также можно применять метод миноров и алгебраических дополнений матрицы.

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

Задание 1

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

Данная нам матрица представляет собой квадратную матрицу третьего порядка. Следовательно, для ее преобразования в треугольную форму нам понадобится обратить в нуль два компонента первого столбца и один компонент второго.

Чтобы привести ее к треугольному виду, начнем преобразование с левого нижнего угла матрицы - с числа 6. Чтобы обратить его в нуль, умножим первую строку на три и вычтем ее из последней строки.

Важно! Верхняя строка не изменяется, а остается такой же, как и в исходной матрице. Записывать строку, в четыре раза большую исходной, не нужно. Но значения строк, компоненты которых нужно обратить в нуль, постоянно меняются.

Осталось только последнее значение - элемент третьей строки второго столбца. Это число (-1). Чтобы обратить его в нуль, из первой строки вычтем вторую.

Выполним проверку:

detA = 2 x (-1) x 11 = -22.

Значит, ответ к заданию: -22.

Задание 2

Нужно найти детерминант матрицы методом приведения его к треугольному виду.

Представленная матрица принадлежит к квадратному типу и является матрицей четвертого порядка. Значит, необходимо обратить в нуль три компонента первого столбца, два компонента второго столбца и один компонент третьего.

Начнем приведение ее с элемента, находящегося в нижнем углу слева, - с числа 4. Нам нужно обратить данное число в нуль. Удобнее всего сделать это, умножив на четыре верхнюю строку, а затем вычесть ее из четвертой. Запишем итог первого этапа преобразования.

Итак, компонент четвертой строки обращен в нуль. Перейдем к первому элементу третьей строки, к числу 3. Выполняем аналогичную операцию. Умножаем на три первую строку, вычитаем ее из третьей строки и записываем результат.

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

Снова начнем с нижней части - с элемента второго столбца последней строки. Это число (-7). Однако в данном случае удобнее начать с числа (-1) - элемента второго столбца третьей строки. Чтобы обратить его в нуль, вычтем из третьей строки вторую. Затем умножим вторую строку на семь и вычтем ее из четвертой. Мы получили нуль вместо элемента, расположенного в четвертой строке второго столбца. Теперь перейдем к третьему столбцу.

В данном столбце нам нужно обратить в нуль только одно число - 4. Сделать это несложно: просто прибавляем к последней строке третью и видим необходимый нам нуль.

После всех произведенных преобразований мы привели предложенную матрицу к треугольному виду. Теперь, чтобы найти ее детерминант, нужно только произвести умножение получившихся элементов главной диагонали. Получаем: detA = 1 x (-1) x (-4) x 40 = 160. Следовательно, решением является число 160.

Итак, теперь вопрос приведения матрицы к треугольному виду вас не затруднит.

Приведение к ступенчатому виду

При элементарных операциях над матрицами ступенчатый вид является менее "востребованным", чем треугольный. Чаще всего он используется для нахождения ранга матрицы (т. е. количества ее ненулевых строк) или для определения линейно зависимых и независимых строк. Однако ступенчатый вид матрицы является более универсальным, так как подходит не только для квадратного типа, но и для всех остальных.

Чтобы привести матрицу к ступенчатому виду, сначала нужно найти ее детерминант. Для этого подойдут вышеназванные методы. Цель нахождения детерминанта такова: выяснить, можно ли преобразовать ее в ступенчатый вид матрицы. Если детерминант больше или меньше нуля, то можно спокойно приступать к заданию. Если же он равен нулю, выполнить приведение матрицы к ступенчатому виду не получится. В таком случае нужно проверить, нет ли ошибок в записи или в преобразованиях матрицы. Если подобных неточностей нет, задание решить невозможно.

Рассмотрим, как привести матрицу к ступенчатому виду на примерах нескольких заданий.

Задание 1. Найти ранг данной матричной таблицы.

Перед нами квадратная матрица третьего порядка (3x3). Мы знаем, что для нахождения ранга необходимо привести ее к ступенчатому виду. Поэтому сначала нам необходимо найти детерминант матрицы. Воспользуемся методом треугольника: detA = (1 x 5 x 0) + (2 x 1 x 2) + (6 x 3 x 4) - (1 x 1 x 4) - (2 x 3 x 0) - (6 x 5 x 2) = 12.

Детерминант = 12. Он больше нуля, значит, матрицу можно привести к ступенчатому виду. Приступим к ее преобразованиям.

Начнем его с элемента левого столбца третьей строки - числа 2. Умножаем верхнюю строку на два и вычитаем ее из третьей. Благодаря этой операции как нужный нам элемент, так и число 4 - элемент второго столбца третьей строки - обратились в нуль.

Мы видим, что в результате приведения образовалась треугольная матрица. В нашем случае продолжить преобразование нельзя, так как остальные компоненты не удастся обратить в нуль.

Значит, делаем вывод, что количество строк, содержащих числовые значения, в данной матрице (или ее ранг) - 3. Ответ к заданию: 3.

Задание 2. Определить количество линейно независимых строк данной матрицы.

Нам требуется найти такие строки, которые нельзя какими-либо преобразованиями обратить в нуль. Фактически нам нужно найти количество ненулевых строк, или ранг представленной матрицы. Для этого выполним ее упрощение.

Мы видим матрицу, не принадлежащую к квадратному типу. Она имеет размеры 3x4. Начнем приведение также с элемента левого нижнего угла - числа (-1).

Дальнейшие ее преобразования невозможны. Значит, делаем вывод, что количество линейно независимых строк в ней и ответ к заданию - 3.

Теперь приведение матрицы к ступенчатому виду не является для вас невыполнимым заданием.

На примерах данных заданий мы разобрали приведение матрицы к треугольному виду и ступенчатому виду. Чтобы обратить в нуль нужные значения матричных таблиц, в отдельных случаях требуется проявить фантазию и правильно преобразовать их столбцы или строки. Успехов вам в математике и в работе с матрицами!

Если верхняя треугольная матрица имеет n 2 элементов, приблизительно половина из них являются нулевыми и нет необходимости сохранять их явно. Конкретно, если мы вычитаем n диагональных элементов из суммы n 2 элементов, то половина оставшихся элементов являются нулевыми. Например, при n=25 имеется 300 элементов со значением 0:

(n 2 -n)/2 = (25 2 -25)/2=(625-25)/2 = 300

Сумма или разность двух треугольных матриц А и В получается в результате сложения или вычитания соответствующих элементов матриц. Результирующая матрица является треугольной.

Сложение С = А + В

Вычитание С = А - В

где С - это треугольная матрица с элементами C i , j = A i , j + B i , j .

Умножение С = А * В

Результирующая матрица С - это треугольная матрица с элементами C i , j , значения которых вычисляются из элементов строки i матрицы А и столбца j матрицы В:

C i , j =(A i ,0 *B 0, j)+ (A i ,1 *B 1, j)+ (A i ,2 *B 2, j)+…+ (A i , n -1 *B n -1, j)

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

Хранение треугольной матрицы

Применение для хранения верхней треугольной матрицы стандартного двумерного массива требует использования всей памяти размером n 2 , несмотря на прогнозируемые нули, расположенные ниже диагонали. Для исключения этого пространства мы сохраняем элементы из треугольной матрицы в одномерном массиве М. Все элементы ниже главной диагонали не сохраняются. Таблица 3.1 показывает количество элементов, которые сохраняются в каждой строке.

Хранение треугольной матрицы

Таблица 1

Алгоритму сохранения требуется функция доступа, которая должна определять местоположение в массиве М элемента A i , j . Для j < i элемент A i , j является равным 0 и не сохраняется в М. Для j ³ i функция доступа использует информацию о числе сохраняемых элементов в каждой строке вплоть до строки i. Эта информация может быть вычислена для каждой строки i и сохранена в массиве (rowTable) для использования функцией доступа.

Пример 4.

С учетом того, что элементы треугольной матрицы сохраняются построчно в массиве М, функция доступа для A i , j использует следующие параметры:

Индексы i и j,

Массив rowTable

Алгоритм доступа к элементу A i , j заключается в следующем:

Если j

Если j³i, то получается значение rowTable[i], являющееся количеством элементов, которые сохраняются в массиве М, для элементов до строки i. В строке i первые i элементов являются нулевыми и не сохраняются в М. Элемент A i , j помещается в M+(j-i)].

Пример 5.

Рассмотрим треугольную матрицу Х из примера 3.4:

1.Х 0,2 =M=М=М=0

2.X 1,0 не сохраняются

3.Х 1,2 =M+(2-1)]=М=М=1

Класс TriMat

Класс TriMat реализует ряд операций треугольной матрицы. Вычитание и умножение треугольной матрицы оставлены для упражнений в конце главы. Учитывая то ограничение, что мы должны использовать только статические массивы, наш класс ограничивает размер строки и столбца числом 25. При этом мы будем иметь 300=(25 2 -25)/2 нулевых элементов, поэтому массив М должен содержать 325 элементов.

Спецификация класса TriMat

ОБЪЯВЛЕНИЕ

#include

#include

// максимальное число элементов и строк

// верхней треугольной матрицы

const int ELEMENTLIMIT = 325;

const int ROWLIMIT = 25;

// закрытые данные-члены

int rowTable; // начальный индекс строки в М

int n; // размер строки/колонки

double М;

// конструктор с параметрами TriMat(int matsize);

// методы доступа к элементам матрицы

void PutElement (double item, int i, int j);

double GetElement(int i, int j) const;

// матричные арифметические операции

TriMat AddMat(const TriMat& A) const;

double DelMat(void) const;

// матричные операции ввода/вывода

void ReadMat(void);

void WriteMat(void) const;

// получить размерность матрицы

int GetDimension(void) const;

ОПИСАНИЕ

Конструктор принимает число строк и столбцов матрицы. Методы PutEle-ment и GetElement сохраняют и возвращают элементы верхней треугольной матрицы. GetElement возвращает 0 для элементов ниже диагонали. AddMat возвращает сумму матрицы А с текущим объектом. Этот метод не изменяет значение текущей матрицы. Операторы ввода/вывода ReadMat и WriteMat работают со всеми элементами матрицы n x n. Сам метод ReadMat сохраняет только верхне-треугольные элементы матрицы.

#include trimat.h // включить класс TriMat

TriMat A (10), В (10), С (10); // треугольные матрицы 10x10

A.ReadMat (); // ввести матрицы А и В

С = A. AddMat (В); // вычислить С = А + В

C.WriteMat (); // печатать С

Реализация класса TriMat

Конструктор инициализирует закрытый член n параметром matsize. Таким образом задается число строк и столбцов матрицы. Этот же параметр используется для инициализации массива rowTable, который используется для доступа к элементам матрицы. Если matsize превышает ROWLIMIT, выдается сообщение об ошибке и выполнение программы прерывается.

// инициализация n и rowTable

TriMat::TriMat (int matsize)

int storedElements = 0;

// прервать программу, если matsize больше ROWLIMIT

if (matsize > ROWLIMIT)

cerr << "Превышен размер матрицы" << ROWLIMIT << "x" << ROWLIMIT << endl;

// задать таблицу

for (int i = 0; i < n; i++)

rowTable [i] = storedElements;

storedElements += n - i;

Матричные методы доступа . Ключевым моментом при работе с треугольными матрицами является возможность эффективного хранения ненулевых элементов в линейном массиве. Чтобы достичь такой эффективности и все же использовать обычные двумерные индексы i и j для доступа к элементу матрицы, нам необходимы функции PutElement и GetElement для сохранения и возвращения элементов матрицы в массиве.

Метод GetDimension предоставляет клиенту доступ к размеру матрицы. Эта информация может использоваться для обеспечения того, чтобы методам доступа передавались параметры, соответствующие правильной строке и столбцу:

// возвратить размерность матрицы n

int TriMat::GetDimension(void) const

Метод PutElement проверяет индексы i и j. Если j ³ i, мы сохраняем значение данных в М, используя функцию доступа к матрице для треугольных матриц: Если i или j не находится в диапазоне 0 . . (n-1), то программа заканчивается:

// записать элемент матрицы в массив М

void TriMat::PutElement (double item, int i, int j)

// прервать программу, если индексы элемента вне

// индексного диапазона

if ((i < 0 || i >= n) || (j < 0 |1 j >= n))

cerr << "PutElement: индекс вне диапазона 0-"<< n-1 << endl;

// все элементы ниже диагонали игнорируются if (j >= i)

M + j-i] = item;

Для получения любого элемента метод GetElement проверяет индексы i и j. Если i или j не находится в диапазоне 0…(n - 1), программа заканчивается. Если j

// получить матричный элемент массива М

double TriMat::GetElement(int i, int j) const

// прервать программу, если индексы вне индексного диапазона

if ((i < 0 || i >= п) || (j < 0 |I j >= n))

cerr << "GetElement: индекс вне диапазона 0-"<< n-1 << endl;

// вернуть элемент, если он выше диагонали

return M + j-i];

// элемент равен 0, если он ниже диагонали

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

// все (n x n) элементов

void TriMat::ReadMat (void)

for(i = 0; i

for(j = 0; j

//построчная выдача в поток элементов матрицы

void TriMat::WriteMat (void) const

// установка режима выдачи

cout. setf (ios::fixed) ;

cout.precision (3) ;

cout.setf (ios::showpoint) ;

for (i =0; i < n; i++)

for (j = 0; j < n; j++)

cout << setw(7) << GetElement (i,j);

cout << endl;

Матричные операции. Класс TriMat имеет методы для вычисления суммы двух матриц и детерминанта матрицы. Метод AddMat принимает единственный параметр, который является правым операндом в сумме. Текущий объект соответствует левому операнду. Например, сумма треугольных матриц X и Y использует метод AddMat для объекта X. Предположим, сумма сохраняется в объекте Z. Для вычисления

Z = Х + Y используйте оператор

Z = X.AddMat(Y) ;

Алгоритм сложения двух объектов типа TriMat возвращает новую матрицу В с элементами B i , j = CurrentObjecty i , j + A i , j:

// возвращает сумму текущей и матрицы А.

// Текущий объект не изменяется

TriMat TriMat::AddMat (const TriMat& A) const

double itemCurrent, itemA;

TriMat B(A.n); // в В будет искомая сумма

for (i = 0; i < n; i++) // цикл по строкам

for (j = i; j < n; j++) // пропускать элементы ниже диагонали

itemCurrent=GetElement i, j);

itemA = A.GetElement (i, j);

B. PutElement (itemCurrent + itemA, i, j);

Метод DetMat возвращает детерминант текущего объекта. Возвращаемое значение - это действительное число, которое является произведением элементов диагонали. Полный текст кода для реализации класса TriMat можно найти в программном приложении.

Треугольные матрицы и характеристическое уравнение

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

, .

Треугольные матрицы обладают рядом важных в практическом отношении свойств:

1) Определитель треугольной матрицы равен произведению ее диагональных элементов:

Следовательно, треугольная матрица является неособенной только тогда, когда все элементы ее главной диагонали отличны от нуля.

2) Сумма и произведение треугольных матриц одинакового строения есть также треугольная матрица того же строения.

3) Неособенная треугольная матрица легко обращается, и ее обратная матрица снова имеет треугольную структуру того же строения.

4) Всякая неособенная матрица при помощи элементарных преобразований только над строками или только над столбцами может быть приведена к треугольной матрице. В качестве примера рассмотрим известную в теории устойчивости матрицу Гурвица

.

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

Выполним аналогичные операции в остальных нижележащих строках. Затем вычтем из каждого элемента третьей строки преобразованной матрицы стоящие над ней элементы строки, умноженные на , и повторим аналогичные операции в остальных строках. Продолжим процесс по этой процедуре до тех пор, пока на m-м шаге не получим верхнюю треугольную матрицу

.

Такие преобразования по существу эквивалентны умножению матрицы справа (или слева) на некоторую другую вспомогательную матрицу.

Определитель матрицы Гурвица

.

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

,

при условии, что ее диагональные миноры отличны от нуля:

, , .

Это разложение является единственным, если зафиксировать диагональные элементы одной из треугольных матриц (например, положить их равными единице). Разложение любой квадратной матрицы в произведение двух треугольных с предписанными диагональными элементами широко используется в вычислительных методах при решении задач с помощью ЭВМ.

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

Определитель квазитреугольной матрицы равен произведению ее диагональных клеток.

В отличие от диагональных матриц операция умножения треугольных матриц в общем случае не коммутативна.

В вычислительных методах теории управления существенную роль играют не только треугольные, но и так называемые почти треугольные матрицы. Многие методы используют разложение матрицы в виде произведения двух матриц, одна из которых имеет треугольное строение. Матрица А называется правой (левой) почти треугольной или матрицей Хессенберга, если для ее элементов а ij выполняются соотношения:

Например, матрица Хессенберга правой почти треугольной формы размерности (4x4) имеет вид

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

а) сумма почти треугольных матриц одинакового строения будет треугольной матрицей того же строения, а произведение - нет;

б) построение характеристического полинома почти треугольных матриц экономично, так как требует гораздо меньшего объема вычислений, чем при произвольной форме матрицы. Число операций умножений составляет , сложений - ;

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

В современных инженерных методах, заложенных в системы автоматизированного проектирования, широко используется мультипликативное представление матриц, например, QR-представление. Его сущность состоит в том, что любую квадратную матрицу А можно представить в виде произведения ортогональной и почти треугольной форм

Или , (4.4)

где Q - ортогональная матрица; R - правая (верхняя) треугольная форма; L - левая (нижняя) треугольная форма матрицы.

Представление (4.4) называется QR-разложением (в случае нижней треугольной матрицы QL-разложением) и для матрицы А является единственным.

QR- и QL-алгоритмы принципиально мало различаются. Их использование зависит от того, как расположены элементы матрицы. Если они сосредоточены в нижнем правом углу, эффективнее использовать QL-алгоритм. Если элементы матрицы сосредоточены в левой верхней части, то целесообразнее использовать QR-алгоритм. При правильной реализации на ЭВМ ошибки округления во многих случаях не оказывают большого влияния на точность вычисления.

Читайте также: