> with(linalg):

> M:= matrix([[1, 1,1],[0, 1, 0], [-1, -1, 1]]); #This is the change of basis matrix from the basis B = {[1, 0, -1], [1, 1, -1], [-1, -1, 1]} to the standard basis.

[Maple Math]

> inverse(M);#This is the change of basis matrix from the standard basis to the basis B = {[1, 0, -1], [1, 1, -1], [-1, -1, 1]}.

[Maple Math]

> T := matrix([[1, 0, 0], [0, 1, 0], [0, 0, 0]]); #This is the matrix of the projection onto the plane spanned by the first two vectors [1, 0, -1], [1, 1, -1] along the vector [-1, -1, 1], written with respect to the basis B.

[Maple Math]

> A := multiply(M, T, inverse(M)); # This is the matrix of the projection with respect to the standard basis.

[Maple Math]

> # We verify that we got the right result

> v:= matrix([[1],[0],[-1]]);

[Maple Math]

> w :=matrix([[1],[1],[-1]]);

[Maple Math]

> z:=matrix([[1],[0],[1]]);

[Maple Math]

> multiply(A, v);

[Maple Math]

> multiply(A, w);

[Maple Math]

> multiply(A, z);

[Maple Math]

>