library("numDeriv")
#####
## example
f3 <- function(X){
x1 <- X[1]; x2 <- X[2];
y <- (cos(x1))^2+sin(x2);
return(y)
}
optim(fn = f3,par = c(3,-1),method = "CG")
## min is -1 at (1.570796, -1.570795).
##### My CG
## Input
fn = f3; x_start = c(3,-1); CGmaxit = 200; CGtol = 10^-8; NRmaxit = 200; NRtol = 10^-8;
## initial set
x = x_start;
i = 0; k = 0; r = -grad(func=fn,x=x); d = r; n = length(x);
delta_new = t(r)%*%r; delta_0 = delta_new;
## iteration
while( i < CGmaxit & delta_new > CGtol^2*delta_0 ){
j = 0; delta_d = d%*%d;
alpha = - (t(grad(func=fn,x=x))%*%d)/(t(d)%*%hessian(func=fn,x=x)%*%d);
## Newton Raphson
while( j < NRmaxit & alpha^2*delta_d > NRtol^2 ){
alpha = - (t(grad(func=fn,x=x))%*%d)/(t(d)%*%hessian(func=fn,x=x)%*%d);
x = x + alpha*d;
j = j + 1;
}
## update
r = -grad(func=fn,x=x);
delta_old = delta_new;
delta_new = t(r)%*%r;
beta = delta_new/delta_old;
d = r + beta*d;
k = k + 1;
if( k==n || t(r)%*%d<=0 ){
d = r;
k = 0;
}
}
f3(x)
## my min is 2 at (-3.141593, -4.712389)
bGlicmFyeSgibnVtRGVyaXYiKQojIyMjIwojIyAgZXhhbXBsZQpmMyA8LSBmdW5jdGlvbihYKXsKICB4MSA8LSBYWzFdOyB4MiA8LSBYWzJdOwogIHkgIDwtIChjb3MoeDEpKV4yK3Npbih4Mik7CiAgcmV0dXJuKHkpCn0Kb3B0aW0oZm4gPSBmMyxwYXIgPSBjKDMsLTEpLG1ldGhvZCA9ICJDRyIpCiMjICBtaW4gaXMgLTEgYXQgKDEuNTcwNzk2LCAtMS41NzA3OTUpLgoKIyMjIyMgIE15IENHCiMjICBJbnB1dApmbiA9IGYzOyB4X3N0YXJ0ID0gYygzLC0xKTsgQ0dtYXhpdCA9IDIwMDsgQ0d0b2wgPSAxMF4tODsgTlJtYXhpdCA9IDIwMDsgTlJ0b2wgPSAxMF4tODsKCiMjICBpbml0aWFsIHNldAp4ID0geF9zdGFydDsKaSA9IDA7IGsgPSAwOyByID0gLWdyYWQoZnVuYz1mbix4PXgpOyBkID0gcjsgbiA9IGxlbmd0aCh4KTsKZGVsdGFfbmV3ID0gdChyKSUqJXI7IGRlbHRhXzAgPSBkZWx0YV9uZXc7CgojIyAgaXRlcmF0aW9uCndoaWxlKCBpIDwgQ0dtYXhpdCAmIGRlbHRhX25ldyA+IENHdG9sXjIqZGVsdGFfMCApewogIGogPSAwOyBkZWx0YV9kID0gZCUqJWQ7CiAgYWxwaGEgPSAtICh0KGdyYWQoZnVuYz1mbix4PXgpKSUqJWQpLyh0KGQpJSolaGVzc2lhbihmdW5jPWZuLHg9eCklKiVkKTsKICAKICAjIyAgTmV3dG9uIFJhcGhzb24KICB3aGlsZSggaiA8IE5SbWF4aXQgJiBhbHBoYV4yKmRlbHRhX2QgPiBOUnRvbF4yICl7CiAgICBhbHBoYSA9IC0gKHQoZ3JhZChmdW5jPWZuLHg9eCkpJSolZCkvKHQoZCklKiVoZXNzaWFuKGZ1bmM9Zm4seD14KSUqJWQpOwogICAgeCA9IHggKyBhbHBoYSpkOwogICAgaiA9IGogKyAxOwogIH0KICAKICAjIyAgdXBkYXRlCiAgciA9IC1ncmFkKGZ1bmM9Zm4seD14KTsKICBkZWx0YV9vbGQgPSBkZWx0YV9uZXc7CiAgZGVsdGFfbmV3ID0gdChyKSUqJXI7CiAgYmV0YSAgICAgID0gZGVsdGFfbmV3L2RlbHRhX29sZDsKICBkICAgICAgICAgPSByICsgYmV0YSpkOwogIGsgICAgICAgICA9IGsgKyAxOwogIGlmKCBrPT1uIHx8IHQociklKiVkPD0wICl7CiAgICBkID0gcjsKICAgIGsgPSAwOwogIH0KfQpmMyh4KQojIyAgbXkgbWluIGlzIDIgYXQgKC0zLjE0MTU5MywgLTQuNzEyMzg5KQ==
Main.java:1: error: class, interface, or enum expected
library("numDeriv")
^
Main.java:2: error: illegal character: '#'
#####
^
Main.java:2: error: illegal character: '#'
#####
^
Main.java:2: error: illegal character: '#'
#####
^
Main.java:2: error: illegal character: '#'
#####
^
Main.java:2: error: illegal character: '#'
#####
^
Main.java:3: error: illegal character: '#'
## example
^
Main.java:3: error: illegal character: '#'
## example
^
Main.java:5: error: class, interface, or enum expected
x1 <- X[1]; x2 <- X[2];
^
Main.java:6: error: class, interface, or enum expected
y <- (cos(x1))^2+sin(x2);
^
Main.java:7: error: class, interface, or enum expected
return(y)
^
Main.java:10: error: illegal character: '#'
## min is -1 at (1.570796, -1.570795).
^
Main.java:10: error: illegal character: '#'
## min is -1 at (1.570796, -1.570795).
^
Main.java:12: error: illegal character: '#'
##### My CG
^
Main.java:12: error: illegal character: '#'
##### My CG
^
Main.java:12: error: illegal character: '#'
##### My CG
^
Main.java:12: error: illegal character: '#'
##### My CG
^
Main.java:12: error: illegal character: '#'
##### My CG
^
Main.java:13: error: illegal character: '#'
## Input
^
Main.java:13: error: illegal character: '#'
## Input
^
Main.java:14: error: class, interface, or enum expected
fn = f3; x_start = c(3,-1); CGmaxit = 200; CGtol = 10^-8; NRmaxit = 200; NRtol = 10^-8;
^
Main.java:14: error: class, interface, or enum expected
fn = f3; x_start = c(3,-1); CGmaxit = 200; CGtol = 10^-8; NRmaxit = 200; NRtol = 10^-8;
^
Main.java:14: error: class, interface, or enum expected
fn = f3; x_start = c(3,-1); CGmaxit = 200; CGtol = 10^-8; NRmaxit = 200; NRtol = 10^-8;
^
Main.java:14: error: class, interface, or enum expected
fn = f3; x_start = c(3,-1); CGmaxit = 200; CGtol = 10^-8; NRmaxit = 200; NRtol = 10^-8;
^
Main.java:14: error: class, interface, or enum expected
fn = f3; x_start = c(3,-1); CGmaxit = 200; CGtol = 10^-8; NRmaxit = 200; NRtol = 10^-8;
^
Main.java:16: error: illegal character: '#'
## initial set
^
Main.java:16: error: illegal character: '#'
## initial set
^
Main.java:16: error: class, interface, or enum expected
## initial set
^
Main.java:18: error: class, interface, or enum expected
i = 0; k = 0; r = -grad(func=fn,x=x); d = r; n = length(x);
^
Main.java:18: error: class, interface, or enum expected
i = 0; k = 0; r = -grad(func=fn,x=x); d = r; n = length(x);
^
Main.java:18: error: class, interface, or enum expected
i = 0; k = 0; r = -grad(func=fn,x=x); d = r; n = length(x);
^
Main.java:18: error: class, interface, or enum expected
i = 0; k = 0; r = -grad(func=fn,x=x); d = r; n = length(x);
^
Main.java:18: error: class, interface, or enum expected
i = 0; k = 0; r = -grad(func=fn,x=x); d = r; n = length(x);
^
Main.java:19: error: class, interface, or enum expected
delta_new = t(r)%*%r; delta_0 = delta_new;
^
Main.java:19: error: class, interface, or enum expected
delta_new = t(r)%*%r; delta_0 = delta_new;
^
Main.java:21: error: illegal character: '#'
## iteration
^
Main.java:21: error: illegal character: '#'
## iteration
^
Main.java:21: error: class, interface, or enum expected
## iteration
^
Main.java:23: error: class, interface, or enum expected
j = 0; delta_d = d%*%d;
^
Main.java:24: error: class, interface, or enum expected
alpha = - (t(grad(func=fn,x=x))%*%d)/(t(d)%*%hessian(func=fn,x=x)%*%d);
^
Main.java:26: error: illegal character: '#'
## Newton Raphson
^
Main.java:26: error: illegal character: '#'
## Newton Raphson
^
Main.java:26: error: class, interface, or enum expected
## Newton Raphson
^
Main.java:29: error: class, interface, or enum expected
x = x + alpha*d;
^
Main.java:30: error: class, interface, or enum expected
j = j + 1;
^
Main.java:31: error: class, interface, or enum expected
}
^
Main.java:33: error: illegal character: '#'
## update
^
Main.java:33: error: illegal character: '#'
## update
^
Main.java:35: error: class, interface, or enum expected
delta_old = delta_new;
^
Main.java:36: error: class, interface, or enum expected
delta_new = t(r)%*%r;
^
Main.java:37: error: class, interface, or enum expected
beta = delta_new/delta_old;
^
Main.java:38: error: class, interface, or enum expected
d = r + beta*d;
^
Main.java:39: error: class, interface, or enum expected
k = k + 1;
^
Main.java:40: error: class, interface, or enum expected
if( k==n || t(r)%*%d<=0 ){
^
Main.java:42: error: class, interface, or enum expected
k = 0;
^
Main.java:43: error: class, interface, or enum expected
}
^
Main.java:46: error: illegal character: '#'
## my min is 2 at (-3.141593, -4.712389)
^
Main.java:46: error: illegal character: '#'
## my min is 2 at (-3.141593, -4.712389)
^
58 errors