#ifndef __RVL_OPTTESTS_ #define __RVL_OPTTESTS_ #include "utility.hh" using namespace RVL; // Rosenbrock function template int rosie(int m, int n, T const * x, T * y) { if ((m!=2) || (n!=2)) return 1; y[0]=10*(x[1]-x[0]*x[0]); y[1]=ScalarFieldTraits::One()-x[0]; return 0; } // Rosenbrock jacobian template int rosiejac(int m, int n, T const * x, T * y) { if ((m!=2) || (n!=2)) return 1; // df[0]/dx[0] y[0]=-20*x[0]; // df[1]/dx[0] y[1]=-ScalarFieldTraits::One(); // df[0]/dx[1] y[2]=10*ScalarFieldTraits::One(); // df[1]/dx[1] y[3]=ScalarFieldTraits::Zero(); return 0; } // diagonal quartic function template int diagquart(int m, int n, T const * x, T * y) { if ((m != n) || (n < 1)) return 1; for (int i=0;i int diagquartjac(int m, int n, T const * x, T * y) { if ((m != n) || (n < 1)) return 1; for (int i=0;i::Zero(); for (int i=0;i