#  Think cx1, cy1, as functions of cx2.
#  The procedure dcx1cy1overdcx2 compute the derivative
#
#    cx1'+cy1'-1
#
#  Input x:vector contains cx1,cy1.
#
#                              Ren-Cang Li, June 1, 1996
#                              na.rcli@na-net.ornl.gov

dcx1cy1overdcx2:=proc(x:vector, cx2)
    local F2, i, j, dc, b;
    F2:=randmatrix(2,2): dc:=randvector(2): b:=randvector(2): 
    #
    F2[1,1]:=subs(cx[1]=x[1],cx[2]=cx2,cy[1]=x[2],gx[1][1]):
    F2[1,2]:=subs(cx[1]=x[1],cx[2]=cx2,cy[1]=x[2],gy[1][1]):
    F2[2,1]:=subs(cx[1]=x[1],cx[2]=cx2,cy[1]=x[2],gx[2][1]):
    F2[2,2]:=subs(cx[1]=x[1],cx[2]=cx2,cy[1]=x[2],gy[2][1]):
    #
    b[1]:=-subs(cx[1]=x[1],cx[2]=cx2,cy[1]=x[2],gx[1][2]):
    b[2]:=-subs(cx[1]=x[1],cx[2]=cx2,cy[1]=x[2],gx[2][2]):
    #
    dc:=linsolve(F2,b):
    dc[1]+dc[2]-1;
end:
