Rudimentary Newton Method
fx = function(x)
{
y = (x[1]-2)^4 + (x[1]-2)^2*x[2]^2 + (x[2]+1)^2
return(y)
}
MaxIter = 10
x = matrix(nrow=(MaxIter+1), ncol=2)
x[1,] = c(1,1)
fx(x[1,])
## [1] 6
for (i in 1:MaxIter) {
x[i+1,] = x[i,] - solve(hessian(fx, x[i,])) %*% grad(fx, x[i,])
}
x
## [,1] [,2]
## [1,] 1.000 1.0000
## [2,] 1.000 -0.5000
## [3,] 1.391 -0.6957
## [4,] 1.746 -0.9488
## [5,] 1.986 -1.0482
## [6,] 1.999 -1.0002
## [7,] 2.000 -1.0000
## [8,] 2.000 -1.0000
## [9,] 2.000 -1.0000
## [10,] 2.000 -1.0000
## [11,] 2.000 -1.0000
MaxIter = 100
x = matrix(nrow=(MaxIter+1), ncol=4)
x[1,] = c(-3,-1,-3,-1)
Wood(x[1,])
## [1] 368332864
for (i in 1:MaxIter) {
x[i+1,] = x[i,] - solve(hessian(Wood, x[i,])) %*% grad(Wood, x[i,])
}
x
## [,1] [,2] [,3] [,4]
## [1,] -3.0000 -1.000000 -3.00000 -1.000000
## [2,] -2.8929 1.536299 -2.88102 1.426148
## [3,] -2.7595 2.967738 -2.73451 2.765777
## [4,] -2.5986 3.619031 -2.56002 3.346242
## [5,] -2.4127 3.724390 -2.36144 3.407367
## [6,] -2.2110 3.484693 -2.14974 3.153735
## [7,] -2.0082 3.082518 -1.94066 2.763901
## [8,] -1.8176 2.651493 -1.74715 2.360676
## [9,] -1.6469 2.260675 -1.57565 2.002572
## [10,] -1.4982 1.932852 -1.42747 1.706085
## [11,] -1.3708 1.667567 -1.30107 1.468215
## [12,] -1.2620 1.455211 -1.19342 1.278904
## [13,] -1.1683 1.284174 -1.10079 1.126913
## [14,] -1.0877 1.146709 -1.02082 1.004535
## [15,] -1.0275 1.051388 -0.95988 0.917598
## [16,] -1.0072 1.023394 -0.93263 0.879820
## [17,] -0.8009 0.609579 -1.15200 1.289444
## [18,] -0.7779 0.611114 -1.13528 1.294230
## [19,] -0.6397 0.401632 -1.22073 1.493316
## [20,] -0.5770 0.340315 -1.24362 1.556117
## [21,] -3.5891 3.811325 0.14161 -1.884235
## [22,] -3.4846 6.029426 0.12154 -1.494296
## [23,] -3.3474 7.125013 0.10212 -1.190581
## [24,] -3.1717 7.376760 0.08450 -0.939421
## [25,] -2.9576 6.999863 0.06979 -0.724550
## [26,] -2.7187 6.240435 0.05890 -0.543602
## [27,] -2.4787 5.364992 0.05203 -0.398324
## [28,] -2.2561 4.550681 0.04889 -0.286093
## [29,] -2.0591 3.863102 0.04942 -0.200767
## [30,] -1.8889 3.306345 0.05424 -0.135796
## [31,] -1.7429 2.861369 0.06530 -0.085397
## [32,] -1.6170 2.503544 0.08793 -0.044266
## [33,] -1.5071 2.211031 0.13894 -0.005244
## [34,] -1.4110 1.967237 0.27804 0.056339
## [35,] -1.3206 1.737106 0.49339 0.202070
## [36,] -1.2351 1.523504 0.64125 0.391904
## [37,] -1.0888 1.170166 0.90001 0.746709
## [38,] -0.9911 0.974495 0.98372 0.951659
## [39,] -0.7914 0.590043 1.17697 1.348555
## [40,] -0.6936 0.467663 1.22365 1.489725
## [41,] -0.4908 0.201689 1.33030 1.758841
## [42,] -0.3986 0.146773 1.34939 1.819753
## [43,] -0.1809 -0.012643 1.40661 1.976474
## [44,] -0.1069 -0.001176 1.40220 1.966809
## [45,] 0.1015 -0.032235 1.41276 1.997178
## [46,] 0.1756 0.016313 1.39605 1.950150
## [47,] 0.3478 0.089869 1.37042 1.878774
## [48,] 0.4343 0.173252 1.34078 1.797945
## [49,] 0.5625 0.295991 1.29627 1.679115
## [50,] 0.6486 0.406388 1.25473 1.572626
## [51,] 0.7329 0.524444 1.20889 1.458838
## [52,] 0.7993 0.628735 1.16678 1.358510
## [53,] 0.8523 0.718583 1.12913 1.272083
## [54,] 0.8932 0.792007 1.09726 1.201394
## [55,] 0.9240 0.849617 1.07145 1.145838
## [56,] 0.9467 0.893290 1.05135 1.103634
## [57,] 0.9631 0.925450 1.03623 1.072489
## [58,] 0.9747 0.948567 1.02518 1.050060
## [59,] 0.9828 0.964859 1.01730 1.034228
## [60,] 0.9884 0.976165 1.01178 1.023229
## [61,] 0.9922 0.983919 1.00797 1.015678
## [62,] 0.9947 0.989191 1.00536 1.010541
## [63,] 0.9965 0.992754 1.00360 1.007068
## [64,] 0.9976 0.995151 1.00241 1.004730
## [65,] 0.9984 0.996759 1.00161 1.003162
## [66,] 0.9989 0.997836 1.00108 1.002111
## [67,] 0.9993 0.998556 1.00072 1.001409
## [68,] 0.9995 0.999036 1.00048 1.000940
## [69,] 0.9997 0.999357 1.00032 1.000627
## [70,] 0.9998 0.999571 1.00021 1.000418
## [71,] 0.9999 0.999714 1.00014 1.000279
## [72,] 0.9999 0.999809 1.00009 1.000186
## [73,] 0.9999 0.999873 1.00006 1.000124
## [74,] 1.0000 0.999915 1.00004 1.000083
## [75,] 1.0000 0.999944 1.00003 1.000055
## [76,] 1.0000 0.999962 1.00002 1.000037
## [77,] 1.0000 0.999975 1.00001 1.000024
## [78,] 1.0000 0.999983 1.00001 1.000016
## [79,] 1.0000 0.999989 1.00001 1.000011
## [80,] 1.0000 0.999993 1.00000 1.000007
## [81,] 1.0000 0.999995 1.00000 1.000005
## [82,] 1.0000 0.999997 1.00000 1.000003
## [83,] 1.0000 0.999998 1.00000 1.000002
## [84,] 1.0000 0.999999 1.00000 1.000001
## [85,] 1.0000 0.999999 1.00000 1.000001
## [86,] 1.0000 0.999999 1.00000 1.000001
## [87,] 1.0000 0.999999 1.00000 1.000000
## [88,] 1.0000 1.000000 1.00000 1.000000
## [89,] 1.0000 1.000000 1.00000 1.000000
## [90,] 1.0000 1.000000 1.00000 1.000000
## [91,] 1.0000 1.000000 1.00000 1.000000
## [92,] 1.0000 1.000000 1.00000 1.000000
## [93,] 1.0000 1.000000 1.00000 1.000000
## [94,] 1.0000 1.000000 1.00000 1.000000
## [95,] 1.0000 1.000000 1.00000 1.000000
## [96,] 1.0000 1.000000 1.00000 1.000000
## [97,] 1.0000 1.000000 1.00000 1.000000
## [98,] 1.0000 1.000000 1.00000 1.000000
## [99,] 1.0000 1.000000 1.00000 1.000000
## [100,] 1.0000 1.000000 1.00000 1.000000
## [101,] 1.0000 1.000000 1.00000 1.000000