Ортогонализация и нормализация (Ortogonalization). Решение линейных уравнений с трехдиагональной матрицей (Tridiagonal).
В подпакете ортогонализации Ortogonalization имеются следующие функции:
- GramSchmidt [ {v1, v2,…} ] – создает ортогональное множество на основе списка векторов v1, v2,…;
- Normalize [vect] – возвращает нормированный вектор vect;
- Projection [vect1, vect2] – дает ортогональную проекцию вектора v1 на вектор v2.
В этих функциях после аргументов допустимы опции InnerProduct › exprn Normalized › False (отказ от нормировки). Примеры работы с функциями ортогонализации представлены ниже:
<< LinearAlgebra`Orthogonalization` {w1, w2, w3} = GramSchmidt[ {{1.3.2}, {2.4.3}, {2.4.6}}] { w1 .w2, w2 .w3, w1 .w3, w1 .w1, w2 .w2, w3 .w3} {0, 0, 0, 1, 1, 1} GramSchmidt[{1, x, x^2, x^3, x^4}, InnerProduct > (Integrate[#1 #2,{x,-1.1}]&)] //Simplify Normalize[LegendreP[2,x], InnerProduct > (Integrate[#1 #2,{x,-1.1}]&)] {w1, w2} = GramSchmidt[{{3.4.3}, {2.3.6}}, Normalized > False] {w1 .w1, w1 .w2} {34, 0}Решение линейных уравнений с трехдиагональной матрицей (Tridiagonal)
При решении линейных уравнений часто встречаются матрицы особой формы – трехдиагональные. Подпакет Tridiagonal имеет функцию для решения линейных уравнений с такой матрицей:
- TridiagonalSolve [a,b, с, r] – решение системы линейных уравнений с трехдиагональной матрицей m. х==r (диагонали представлены векторами а, b и с, вектор свободных членов – r).
Пример применения данной функции:
<<LinearAlgebra`Tridiagonal` {a, b, c} = {{1, 2, 3}, {4, 5, 6, 7}, {10, 9, 8}} {{1, 2, 3}, {4, 5, 6, 7}, {10, 9, 8}} m = Table[Switch[j-i, -1, a[[j]], 0, b[[jj], 1, c[[j-1]], _, 0], {i, 4}, {j, 4}] //MatrixForm TridiagonalSolve[a, b, c, {8, 3, 4, 5}Примечание:
С учетом представленных функций и функций ядра набор матричных средств системы Mathematica является одним из наиболее полных. В области решения задач в численном виде он несколько уступает лишь специализированной матричной системе MATLAB 5.0/5.3.
