Would the following look better to you?
It's obtained with what is currently on SVN trunk. Maybe it's the same
as for 1.2.2, but I don't have that compiled at the moment.

Ralf


-- function F: R^3 -> R^2
X:=[x1,x2,x3]


   (9)  [x1,x2,x3]
                                  Type:
List(OrderedVariableList([x1,x2,x3]))
F := [x1*x2+x3^2,x1+x2*exp(x3)]


            2              x3
   (10)  [x3  + x1 x2,x2 %e   + x1]
                                              Type:
List(Expression(Integer))
-- Jacobian F
DF := matrix [[D(f,x) for x in X] for f in F]


         +x2   x1     2x3  +
   (11)  |                 |
         |      x3       x3|
         +1   %e    x2 %e  +
                                            Type:
Matrix(Expression(Integer))
-- function G: R^3 -> R^4
Y:=[y1,y2]


   (12)  [y1,y2]
                                     Type:
List(OrderedVariableList([y1,y2]))
G := [1,y1,y1*y2,3*y1]


   (13)  [1,y1,y1 y2,3y1]
                                              Type:
List(Polynomial(Integer))
-- Jacobian G
DG := matrix [[D(g,y) for y in Y] for g in G]


         +0   0 +
         |      |
         |1   0 |
   (14)  |      |
         |y2  y1|
         |      |
         +3   0 +
                                            Type:
Matrix(Polynomial(Integer))
-- composition GF := GoF using the following substitutions:
YX := [y=f for y in Y for f in F]


                2                  x3
   (15)  [y1= x3  + x1 x2,y2= x2 %e   + x1]
                                    Type:
List(Equation(Expression(Integer)))
GF1 :=  [eval(g, YX) for g in G]


              2               2        2   x3        2     2      2
   (16)  [1,x3  + x1 x2,(x2 x3  + x1 x2 )%e   + x1 x3  + x1 x2,3x3  +
3x1 x2]
                                              Type:
List(Expression(Integer))
GF2 :=  [eval(G.i, YX) for i in 1..4]


              2               2        2   x3        2     2      2
   (17)  [1,x3  + x1 x2,(x2 x3  + x1 x2 )%e   + x1 x3  + x1 x2,3x3  +
3x1 x2]
                                              Type:
List(Expression(Integer))
GF3 :=  [eval(G.1, YX), eval(G.2, YX), eval(G.3, YX), eval(G.4, YX) ]


              2               2        2   x3        2     2      2
   (18)  [1,x3  + x1 x2,(x2 x3  + x1 x2 )%e   + x1 x3  + x1 x2,3x3  +
3x1 x2]
                                              Type:
List(Expression(Integer))

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to