Задача 2. Рассматривая вектора e[1], e[2], e[3] как новый базис в R^3 , вычислить:
а) координаты вектора 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]);

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])

Составим матрицу перехода `Т`[proc (e) options operator, arrow; e[1] end proc... из координат базисных векторов e[1], e[2], e[3] :

> #В следующей строчке 'T' введена русская (во избежание ошибок).
Т[e->e[1]]=transpose(matrix(3,3,[e[1],e[2],e[3]]));
T1:=op(2,%):

`Т`[proc (e) options operator, arrow; e[1] end proc...

Тогда, координаты вектора b в исходном базисе будут равны:

> b1:=convert(b,matrix):
b:=evalm(T1)*evalm(b1)=multiply(T1,b1);

b := matrix([[1, 1, 1], [1, 3, -2], [1, 2, -3]])*ma...

Найдём матрицу, обратную к `Т`[proc (e) options operator, arrow; e[1] end proc... :

> Т[e->e[1]]^(-1)=inverse(T1);
T2:=inverse(T1):

1/`Т`[proc (e) options operator, arrow; e[1] end pr...

Найдём координаты вектора с в новом базисе:

> c1:=convert(c,matrix):
c:=evalm(T2)*evalm(c1)=multiply(T2,c1);

c := matrix([[1, -1, 1], [-1/5, 4/5, -3/5], [1/5, 1...

Итак, найденные координаты векторов:

> 'b'=op(2,b),'c'=op(2,c);

b = matrix([[8], [49], [46]]), c = matrix([[0], [1]...