Chapter Contents
Chapter Contents
Previous
Previous
Next
Next
The NLP Procedure

CRPJAC Statement

CRPJAC variables ;

The CRPJAC statement defines the crossproduct Jacobian JTJ matrix used in solving least-squares problems. For more information, see the section "Derivatives". If the DIAHES option is not specified, the CRPJAC statement lists n(n+1)/2 variable names, which correspond to the elements J^TJ_{j,k}, j \geq k, of the lower triangle of the symmetric crossproduct Jacobian matrix listed by rows. For example, the statements
    lsq f1-f3;
    decvar x1-x3;
    crpjac jj1-jj6;
correspond to the crossproduct Jacobian matrix
J^TJ = [ JJ1 & JJ2 & JJ4 \ JJ2 & JJ3 & JJ5 \ JJ4 & JJ5 & JJ6 \ ]
If the DIAHES option is specified, only the n diagonal elements must be listed in the CRPJAC statement. The n rows and columns of the crossproduct Jacobian matrix must be in the same order as the n corresponding parameter names listed in the DECVAR statement. To specify the values of nonzero derivatives, the variables specified in the CRPJAC statement have to be defined at the left-hand side of algebraic expressions in programming statements. For example, consider the Rosenbrock Function:

   proc nlp tech=levmar;
      lsq f1 f2;
      decvar x1 x2;
      gradient g1 g2;
      crpjac cpj1-cpj3;

      f1   = 10 * (x2 - x1 * x1);
      f2   = 1 - x1;
      g1   = -200 * x1 * (x2 - x1 * x1) - (1 - x1);
      g2   =  100 * (x2 - x1 * x1);

      cpj1 = 400 * x1 * x1 _ 1 ;
      cpj2 = -200 * x1;
      cpj3 = 100;
   run;

Chapter Contents
Chapter Contents
Previous
Previous
Next
Next
Top
Top

Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.