]> gitweb.michael.orlitzky.com - octave.git/blobdiff - optimization/test_functions/powell_gradient.m
Add powell_gradient(), powell_gradient1() and their tests.
[octave.git] / optimization / test_functions / powell_gradient.m
diff --git a/optimization/test_functions/powell_gradient.m b/optimization/test_functions/powell_gradient.m
new file mode 100644 (file)
index 0000000..7cea917
--- /dev/null
@@ -0,0 +1,12 @@
+function g = powell_gradient(x1,x2,x3,x4)
+  ##
+  ## The gradient of the Powell function. See powell.m for more
+  ## information.
+  ##
+  f_x1 = 40*(x1 - x4)^3 + 2*x1 + 20*x2;
+  f_x2 = 4*(x2 - 2*x3)^3 + 20*x1 + 200*x2;
+  f_x3 = -8*(x2 - 2*x3)^3 + 10*x3 - 10*x4;
+  f_x4 = -40*(x1 - x4)^3 - 10*x3 + 10*x4;
+
+  g = [f_x1; f_x2; f_x3; f_x4];
+end