You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[`anderson_bjorck_king`](https://jacobwilliams.github.io/roots-fortran/proc/anderson_bjorck_king.html) | A [variant](https://link.springer.com/content/pdf/bbm%3A978-3-642-05175-3%2F1.pdf) of `anderson_bjorck` | [King (1973)](https://link.springer.com/article/10.1007/BF01933405)
75
+
[`abkk`](https://jacobwilliams.github.io/roots-fortran/proc/abkk.html) | A [variant](https://link.springer.com/content/pdf/bbm%3A978-3-642-05175-3%2F1.pdf) of `anderson_bjorck` | [King (1973)](https://link.springer.com/article/10.1007/BF01933405)
In general, all the methods are guaranteed to converge. Some will be more efficient (in terms of number of function evaluations) than others for various problems. The methods can be broadly classified into three groups:
* Newfangled methods (`zhang`, `barycentric`, `blendtf`, `bdqrf`, `anderson_bjorck_king`, `rbp`). These rarely or ever seem to be better than the best methods.
90
+
* Newfangled methods (`zhang`, `barycentric`, `blendtf`, `bdqrf`, `abkk`, `rbp`). These rarely or ever seem to be better than the best methods.
91
91
* Best methods (`anderson_bjorck`, `muller`, `pegasus`, `toms748`, `brent`, `brentq`, `brenth`, `chandrupatla`, `itp`). Generally, one of these will be the most efficient method.
92
92
93
93
Note that some of the implementations in this library contain additional checks for robustness, and so may behave better than naive implementations of the same algorithms. In addition, all methods have an option to fall back to bisection if the method fails to converge.
Copy file name to clipboardExpand all lines: src/root_module.F90
+12-12Lines changed: 12 additions & 12 deletions
Original file line number
Diff line number
Diff line change
@@ -65,7 +65,7 @@ module root_module
65
65
type(root_method),parameter,public:: root_method_chandrupatla = root_method(12, 'chandrupatla') !! enum type for `chandrupatla` method
66
66
type(root_method),parameter,public:: root_method_toms748 = root_method(13, 'toms748') !! enum type for `toms748` method
67
67
type(root_method),parameter,public:: root_method_zhang = root_method(14, 'zhang') !! enum type for `zhang` method
68
-
type(root_method),parameter,public::root_method_anderson_bjorck_king= root_method(15, 'anderson_bjorck_king') !! enum type for `anderson_bjorck_king` method
68
+
type(root_method),parameter,public::root_method_anderson_bjorck_kroger= root_method(15, 'abkk') !! enum type for `anderson_bjorck_kroger` method
69
69
type(root_method),parameter,public:: root_method_blendtf = root_method(16, 'blendtf') !! enum type for `blendtf` method
70
70
type(root_method),parameter,public:: root_method_barycentric = root_method(17, 'barycentric') !! enum type for `barycentric` method
71
71
type(root_method),parameter,public:: root_method_itp = root_method(18, 'itp') !! enum type for `itp` method
'brenth' ] !! method names - the order here is roughly the order of worst to best (see the root report output file).
44
+
'bisection', &
45
+
'regula_falsi', &
46
+
'abkk', &
47
+
'barycentric', &
48
+
'zhang', &
49
+
'ridders', &
50
+
'illinois ', &
51
+
'blendtf', &
52
+
'itp', &
53
+
'bdqrf', &
54
+
'rbp ', &
55
+
'modab', &
56
+
'pegasus', &
57
+
'toms748 ', &
58
+
'brent', &
59
+
'brentq', &
60
+
'anderson_bjorck', &
61
+
'brenth', &
62
+
'muller ', &
63
+
'chandrupatla' ] !! method names - the order here is roughly the order of worst to best (see the root report output file). - but with bis and rf as the first wo
0 commit comments