6.3.6. Решение системы линейных уравнений методом декомпозиции Холесски
Выполним решение еще и методом декомпозиции Холесски:
> x:=LinearSolve(А, В, method='Cholesky');
Приведем еще один пример решения системы из четырех линейных уравнений с применением метода декомпозиции Холесски:
> M_temp := Matrix(4, (i,j)->i+i*j-7, shape=triangular[lower]);
M :=M_temp.Transpose(M_temp);
IsMatrixShape(M, symmetric); IsDefinite(M);
> V := <6,1,3,-2>;
> x:=LinearSolve(M, V, method='Cholesky');
> M.x-V;
> M:=Matrix(3, (i,j)->i+2*j-8, shape=triangular[lower]); V:=<7,8,1>;
> x := ForwardSubstitute(M, V);
x := LinearSolve(M, V);
6.3.7. Одновременное решение нескольких систем уравнений
Мы ограничимся простым примером одновременного решения сразу трех систем уравнений. Дабы не загромождать книгу массивными выражениями, ограничимся решением систем из двух линейных уравнений, матрица коэффициентов у которых одна, а векторы свободных членов разные. Ниже показан пример решения такой системы:
> М:=Matrix([[1.,3],[4,5]],datatype=float);
V1:=<1.,2>;
V2:=<7,-11>;
V3:=<-34,-67>;
> LinearSolve(М,<V1|V2|V3>);
> М: =Matrix([[1.,3],[4,5]],datatype=float);
ipiv, M := LUDecomposition(M,output=['NAG'], inplace);
LinearSolve([ipiv, M], <V1|V2|V3>);
Ha этом мы завершаем обзор пакета LinearAlgebra. Читатель, познающий или знающий методы линейной алгебры, может опробовать в работе любые функции этого пакета самостоятельно или познакомиться с множеством примеров, размещенных в справочной системе Maple и в файле демонстрационных примеров LE_Linear_Solve.mws. Возможности пакетов linalg и LinearAlgebra удовлетворят самых требовательных специалистов в этой области математики.
6.4. Интеграция Maple с MATLAB
6.4.1. Краткие сведения о MATLAB
Несмотря на обширные средства линейной алгебры (да и многие другие), имеющиеся у системы Maple, есть системы компьютерной математики, решающие некоторые классы задач более эффективно, и прежде всего быстрее. В области линейной алгебры к таким системам, безусловно, относится система MATLAB [10, 28–34), созданная компанией MathWorks, Inc. Ее название происходит именно от слов MATrix LABoratory — матричная лаборатория.
MATLAB содержит в своем ядре многие сотни матричных функций и является одной из лучших матричных систем для персональных компьютеров. Она реализует самые современные алгоритмы матричных операций, включая, кстати, и алгоритмы NAG. Однако главное достоинство MATLAB — наличие множества дополнительных пакетов как по классическим разделам математики, так и по самым новейшим, таким как нечеткая логика, нейронные сети, идентификация систем, обработка сигналов и др. Знаменитым стал пакет моделирования систем и устройств Simulink, включаемый в пакет поставки системы MATLAB. Последней версией системы является MATLAB 7 SP2.
В то же время нельзя не отметить, что MATLAB — одна из самых громоздких математических систем. Инсталляция ее полной версии занимает около 2 Гбайт дискового пространства. Несмотря на это, интеграция различных математических систем с данной системой, похоже, становится своеобразной модой. Такая возможность предусмотрена и в системе Maple с помощью пакета Matlab.
6.4.2. Загрузка пакета расширения Matlab
Для загрузки пакета Matlab используется команда
> with(Matlab);
Использование этой команды ведет к автоматическому запуску системы MATLAB и установлению необходимой объектной связи между системами Maple и MATLAB — рис. 6.2. Обратите внимание на то, что такая связь установлена для последней реализации MATLAB 7.04.365 SP2.
Рис. 6.2. Установление связи между системами Maple и MATLAB
Как нетрудно заметить, данный пакет дает доступ всего к 18 функциям системы MATLAB (из многих сотен, имеющихся только в ядре последней системы). Таким образом, есть все основания полагать, что возможности MATLAB в интеграции с системой Maple используются пока очень слабо и носят рудиментарный характер. Стоит ли ради этих функций иметь на компьютере огромную систему MATLAB, пользователи должны решать сами. Если ответ положительный, то, скорее всего, пользователь решает тот класс задач, для которых лучше подходит MATLAB и надо задуматься уже над тем, нужна ли в этом случае СКМ Maple.