Primero necesitamos una base del subespacio vectorial. Plantearemos las ecuaciones y resolvemos el sistema:

(%i3) eq1 : 2 * x + y - z $
eq2 : x - y + 3 * t $
sol : linsolve([ eq1, eq2],[ x, y, z, t]) ;
(sol) [ x = %r2 , y = %r2 + 3 %r1 , z = 3 %r2 + 3 %r1 , t = %r1 ]

Procedemos a obtener los vectores de la base haciendo las sustituciones habituales:

(%i5) v1 : ev([ x, y, z, t], ev( sol, %r1 = 1, %r2 = 0)) ;
v2 : ev([ x, y, z, t], ev( sol, %r1 = 0, %r2 = 1)) ;
(v1) [ 0 , 3 , 3 , 1 ] (v2) [ 1 , 1 , 3 , 0 ]

Ahora, ortogonalizamos la base, pues la necesitamos ortogonal para calcular la proyección:

(%i7) u1 : v2 + v1 ;
u2 : v1 -( v1. u1) /( u1. u1) * u1 ;
(u1) [ 0 , 3 , 3 , 1 ] (u2) [ 1 , 17 19 , 21 19 , 12 19 ]

Ya estamos en condiciones de aplicar: \[\textbf{proy}_S(\vec{v})=\sum_{i=1}^m\frac{\vec{v}\bullet\vec{u}_i}{\parallel\vec{u}_i\parallel^2}\vec{u}_i.\]

(%i10) v :[ - 1, 0, 2, 1] $
( v. u1) /( u1. u1) * u1 +( v. u2) /( u2. u2) * u2 ;
sqrt( %. %), numer ;
(%o9) [ 11 65 , 62 65 , 84 65 , 17 65 ] (%o10) 1.63613051952559

Created with wxMaxima.