Chapter Contents
Chapter Contents
Previous
Previous
Next
Next
The NLP Procedure

CRPJAC Statement

CRPJAC variables ;

The CRPJAC statement defines the cross-product Jacobian JTJ matrix used in solving least-squares problems. For more informat]nlpd. 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 cross-product Jacobian matrix listed by rows. For example, the statements

    lsq f1-f3;
    decvar x1-x3;
    crpjac jj1-jj6;
correspond to the cross-product 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 cross-product 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.