Вычислительные методы линейной алгебры. Горбаченко В.И - 7 стр.

UptoLike

7
рицами. Если матрица хессенбергова, но не разреженная, то применяется
сведение к системе с треугольной матрицей. Если матрица квадратная, но пе-
речисленные выше методы применить не удалось, то используется метод
LU-разложения. Разреженные матрицы предварительно преобразуются с це-
лью уменьшения заполнения матриц L и U . Если A прямоугольная мат-
рица, то используется
QR-разложение, учитывающее возможный разрежен-
ный характер матрицы.
Таким образом, операция
\ или функция mldivide представляют дос-
таточно сложный решатель (solver). Операция
\ не позволяет пользователю
управлять процессом решения. Кроме того, на многочисленные проверки при
решении больших систем тратится достаточно много времени. Функция
linsolve решает СЛАУ и позволяет пользователю выбрать метод решения,
описав свойства матрицы. В простейшем случае обращение к функции имеет
вид
x=linsolve(A,b). При таком вызове в случае квадратной матрицы
используется LU-разложение, а в случае прямоугольной матрицы
QR-разложение. Для задания свойств матрицы используется управляющая
структура, которую обозначим
opts (можно использовать любое допусти-
мое имя):
x=linsolve(A,b,opts). Структура может иметь поля, описы-
вающие свойства матрицы:
LTнижняя треугольная матрица, UTверхняя
треугольная,
UHESSхессенбергова, SYMсимметричная, POSDEFполо-
жительно определенная,
RECTпрямоугольная, TRANSAфункции переда-
ется транспонированная матрица. Поля могут принимать значения
true
(истина) или
false (ложь). Можно задавать не все поля. Допустимые соче-
тания значений полей управляющей структуры можно увидеть в справочной
системе MATLAB. Функция не проверяет указанные свойства матрицы, что
ускоряет решение, но может привести к ошибкам при неправильном указа-
нии свойств матрицы. Если матрица плохо обусловлена или ее ранг меньше
размерности матрицы, то выводится
предупреждение. Если в вызове функ-
ции задать второй выходной параметр, например,
[x,r]=lin-
рицами. Если матрица хессенбергова, но не разреженная, то применяется
сведение к системе с треугольной матрицей. Если матрица квадратная, но пе-
речисленные выше методы применить не удалось, то используется метод
LU-разложения. Разреженные матрицы предварительно преобразуются с це-
лью уменьшения заполнения матриц L и U . Если A – прямоугольная мат-
рица, то используется QR-разложение, учитывающее возможный разрежен-
ный характер матрицы.
      Таким образом, операция \ или функция mldivide представляют дос-
таточно сложный решатель (solver). Операция \ не позволяет пользователю
управлять процессом решения. Кроме того, на многочисленные проверки при
решении больших систем тратится достаточно много времени. Функция
linsolve решает СЛАУ и позволяет пользователю выбрать метод решения,
описав свойства матрицы. В простейшем случае обращение к функции имеет
вид x=linsolve(A,b). При таком вызове в случае квадратной матрицы
используется LU-разложение, а в случае прямоугольной матрицы –
QR-разложение. Для задания свойств матрицы используется управляющая
структура, которую обозначим opts (можно использовать любое допусти-
мое имя): x=linsolve(A,b,opts). Структура может иметь поля, описы-
вающие свойства матрицы: LT – нижняя треугольная матрица, UT – верхняя
треугольная, UHESS – хессенбергова, SYM – симметричная, POSDEF – поло-
жительно определенная, RECT – прямоугольная, TRANSA – функции переда-
ется транспонированная матрица.     Поля могут принимать значения true
(истина) или false (ложь). Можно задавать не все поля. Допустимые соче-
тания значений полей управляющей структуры можно увидеть в справочной
системе MATLAB. Функция не проверяет указанные свойства матрицы, что
ускоряет решение, но может привести к ошибкам при неправильном указа-
нии свойств матрицы. Если матрица плохо обусловлена или ее ранг меньше
размерности матрицы, то выводится предупреждение. Если в вызове функ-
ции    задать   второй   выходной   параметр,   например,   [x,r]=lin-


                                                                         7