function [g1] = prueba(params)
        


  T16 = params(13)*(1-params(2))/(1+params(2));
  T67 = (1-params(1)*params(3))*(1-params(3))*(1+params(14))/((1+params(1)*params(4))*params(3)*(1+params(11)*(params(10)-1)));
  g1 = zeros(8, 23);

%
% Jacobian matrix
%

  g1(1, 8)=  g1(1, 8)+1;
  g1(1, 16)=  g1(1, 16)+(-(1/(1+params(2))));
  g1(1, 1)=  g1(1, 1)+(-(params(2)/(1+params(2))));
  g1(1, 10)=  g1(1, 10)+T16;
  g1(1, 17)=  g1(1, 17)+(-T16);
  g1(1, 11)=  g1(1, 11)+T16*(-params(12));
  g1(1, 13)=  g1(1, 13)+(-(params(13)*(1-params(2))/(1+params(2))*(1-params(8))));
  g1(1, 15)=  g1(1, 15)+(-((params(2)-params(9))/(1+params(2))));
  g1(2, 8)=  g1(2, 8)+(-T67);
  g1(2, 17)=  g1(2, 17)+(-(params(1)/(1+params(1)*params(4))));
  g1(2, 9)=  g1(2, 9)+1;
  g1(2, 2)=  g1(2, 2)+(-(params(4)/(1+params(1)*params(4))));
  g1(2, 14)=  g1(2, 14)+T67;
  g1(3, 8)=  g1(3, 8)+(-((1-params(5))*params(7)));
  g1(3, 10)=  g1(3, 10)+1;
  g1(3, 9)=  g1(3, 9)+(-((1-params(5))*params(6)));
  g1(3, 3)=  g1(3, 3)+(-(params(5)*params(15)));
  g1(3, 18)=  g1(3, 18)+(-(params(5)*(1-params(15))));
  g1(3, 12)=  g1(3, 12)+(-1);
  g1(4, 16)=  g1(4, 16)+(-(1-params(1)));
  g1(4, 11)=  g1(4, 11)+1;
  g1(4, 19)=  g1(4, 19)+(-params(1));
  g1(5, 12)=  g1(5, 12)+1;
  g1(5, 4)=  g1(5, 4)+(-params(17));
  g1(5, 20)=  g1(5, 20)+(-1);
  g1(6, 14)=  g1(6, 14)+1;
  g1(6, 6)=  g1(6, 6)+(-params(16));
  g1(6, 22)=  g1(6, 22)+(-1);
  g1(7, 13)=  g1(7, 13)+1;
  g1(7, 5)=  g1(7, 5)+(-params(8));
  g1(7, 21)=  g1(7, 21)+1;
  g1(8, 15)=  g1(8, 15)+1;
  g1(8, 7)=  g1(8, 7)+(-params(9));
  g1(8, 23)=  g1(8, 23)+(-1);
end
