Задача 2.
Рассматривая вектора
как новый базис в
, вычислить:
а) координаты вектора
b
в исходном базисе, зная его координаты в новом базисе.
б) координаты вектора
с
в новом базисе, зная его координаты в исходном базисе.
> with(linalg):with(LinearAlgebra):
Warning, the previous binding of the name GramSchmidt has been removed and it now has an assigned value
Warning, the assigned name GramSchmidt now has a global binding
По условию задачи:
>
e[1]:=vector([1,1,1]);
e[2]:=vector([1,3,2]);
e[3]:=vector([1,-2,-3]);
b:=vector([5,10,-7]);
c:=vector([2,1,-1]);
Составим матрицу перехода из координат базисных векторов :
>
#В следующей строчке 'T' введена русская (во избежание ошибок).
Т[e->e[1]]=transpose(matrix(3,3,[e[1],e[2],e[3]]));
T1:=op(2,%):
Тогда, координаты вектора b в исходном базисе будут равны:
>
b1:=convert(b,matrix):
b:=evalm(T1)*evalm(b1)=multiply(T1,b1);
Найдём матрицу, обратную к :
>
Т[e->e[1]]^(-1)=inverse(T1);
T2:=inverse(T1):
Найдём координаты вектора с в новом базисе:
>
c1:=convert(c,matrix):
c:=evalm(T2)*evalm(c1)=multiply(T2,c1);
Итак, найденные координаты векторов:
> 'b'=op(2,b),'c'=op(2,c);