Por ejemplos anteriores sabemos que:

(%i6) f( v) : =[ v[ 1], v[ 2] - v[ 1], v[ 3] - v[ 1], 2 * v[ 1] - v[ 2]] $
e3 : ident( 3) $
expr : rat( f([ a, b, c]). matrix([ 1],[ X],[ X ^ 2],[ X ^ 3]), X) $
print( "f(a,b,c)=", expr) $
print( "La matriz asociada de f es:") $
Mf : transpose( matrix( f( row( e3, 1)[ 1]), f( row( e3, 2)[ 1]), f( row( e3, 3)[ 1]))) ;
f(a,b,c)= ( b + 2 a ) X 3 + ( c a ) X 2 + ( b a ) X + a La matriz asociada de f es: (Mf) [ 1 0 0 1 1 0 1 0 1 2 1 0 ]

Del mismo modo

(%i13) g( v) : = matrix([ v[ 1], v[ 3] - v[ 2]],[ v[ 2] - v[ 3], v[ 4]]) $
e4 : ident( 4) $
expr : rat([ p_0, p_1, p_2, p_3]. matrix([ 1],[ X],[ X ^ 2],[ X ^ 3]), X) $
print( "g(", expr, ")=", g([ p_0, p_1, p_2, p_3])) $
fg( m) : = flatten( makelist( makelist( m[ i, j], i, 1, 2), j, 1, 2)) $
print( "La matriz asociada de g es:") $
Mg : transpose( matrix( fg( g( row( e4, 1)[ 1])), fg( g( row( e4, 2)[ 1])), fg( g( row( e4, 3)[ 1])), fg( g( row( e4, 4)[ 1])))) ;
g( p 3 X 3 + p 2 X 2 + p 1 X + p 0 )= [ p 0 p 2 p 1 p 1 p 2 p 3 ] La matriz asociada de g es: (Mg) [ 1 0 0 0 0 1 1 0 0 1 1 0 0 0 0 1 ]

Por tanto, la composición \((g\circ f):\mathbb{R}^3\to\mathcal{M}_2(\mathbb{R})\) será

(%i14) Mg. Mf ;
(%o14) [ 1 0 0 0 1 1 0 1 1 2 1 0 ]

Veamos su expresión en función de un vector de \(\mathbb{R}^3\):

(%i16) m2( v) : = matrix([ v[ 1, 1], v[ 2, 1]],[ v[ 3, 1], v[ 4, 1]]) $
print( "(gof)(a,b,c)=", m2( Mg. Mf. transpose( matrix([ a, b, c])))) $
(gof)(a,b,c)= [ a b c c b 2 a b ]

Created with wxMaxima.