Por ejemplos anteriores sabemos que:

(%i8) f( v) : =[ v[ 1], v[ 2] - v[ 1], v[ 3] - v[ 1], 2 * v[ 1] - v[ 2]] $
e3 : ident( 3) $
Mf : transpose( matrix( f( row( e3, 1)[ 1]), f( row( e3, 2)[ 1]), f( row( e3, 3)[ 1]))) $
g( v) : = matrix([ v[ 1], v[ 3] - v[ 2]],[ v[ 2] - v[ 3], v[ 4]]) $
e4 : ident( 4) $
fg( m) : = flatten( makelist( makelist( m[ i, j], i, 1, 2), j, 1, 2)) $
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])))) $ ;
Mgf : Mg. Mf ;
(Mgf) [ 1 0 0 0 1 1 0 1 1 2 1 0 ]

Por tanto, la composición \((g\circ f)(-1,3,1)\) será

(%i10) m2( v) : = matrix([ v[ 1, 1], v[ 2, 1]],[ v[ 3, 1], v[ 4, 1]]) $
print( "(gof)(-1,3,1)=", m2( Mgf. transpose( matrix([ - 1, 3, 1])))) $
(gof)(−1,3,1)= [ 1 2 2 5 ]

Created with wxMaxima.