Recordemos que el ortogonal de un subespacio dado por sus ecuaciones implícitas, queda constituido por las componentes normales de las ecuaciones implícitas. De este modo, una base del subespacio vectorial orotogonal será:

(%i4) X :[ x, y, z, t] $
coef( eq) : = makelist( coeff( eq, X[ i]), i, 1, 4) $
v1 : coef( 2 * x + 3 * y - z) ;
v2 : coef( y + 2 * z - t) ;
(v1) [ 2 , 3 , 1 , 0 ] (v2) [ 0 , 1 , 2 , 1 ]

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

(%i6) u1 : v1 ;
u2 : v2 -( v2. u1) /( u1. u1) * u1 ;
(u1) [ 2 , 3 , 1 , 0 ] (u2) [ 1 7 , 11 14 , 29 14 , 1 ]

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.\]

(%i9) v :[ 0, 2, 1, - 1] $
( v. u1) /( u1. u1) * u1 +( v. u2) /( u2. u2) * u2 ;
sqrt( %. %), numer ;
(%o8) [ 50 83 , 140 83 , 105 83 , 65 83 ] (%o9) 2.328451577118999

Created with wxMaxima.