Ортогонализация и нормализация (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.