> with(linalg):
Warning, the protected names norm and trace have been redefined and
unprotected

> A:=matrix(3,2,[[-k[a],0],[k[a]+k[b],-k[b]],[-k[b],k[b]]]);
> 

                          [   -k[a]         0  ]
                          [                    ]
                     A := [k[a] + k[b]    -k[b]]
                          [                    ]
                          [   -k[b]       k[b] ]

> a:=vector([-F[2]-F[3],F[2],F[3]]);
> 

                   a := [-F[2] - F[3], F[2], F[3]]

> G:=multiply(transpose(A),A);
> 

  G :=

        [    2                2       2                             2
        [k[a]  + (k[a] + k[b])  + k[b]  , -(k[a] + k[b]) k[b] - k[b]

        ]
        ]

        [                          2         2]
        [-(k[a] + k[b]) k[b] - k[b]  , 2 k[b] ]

> g:=multiply(transpose(A),a);
> 

  g := [-k[a] (-F[2] - F[3]) + (k[a] + k[b]) F[2] - k[b] F[3],

        -k[b] F[2] + k[b] F[3]]

> U:=linsolve(G,g): convert(U,matrix);
> 

                 [           F[2] + F[3]           ]
                 [           -----------           ]
                 [              k[a]               ]
                 [                                 ]
                 [k[b] F[2] + k[b] F[3] + k[a] F[3]]
                 [---------------------------------]
                 [            k[b] k[a]            ]

> u[2]:=U[1];u[3]:=U[2];
> 

                                 F[2] + F[3]
                         u[2] := -----------
                                    k[a]


                      k[b] F[2] + k[b] F[3] + k[a] F[3]
              u[3] := ---------------------------------
                                  k[b] k[a]

> 
> 
> 
