From f28687d7f7cfe52a4637ac52eb44b30cd6e99ce6 Mon Sep 17 00:00:00 2001 From: Yash Raj Singh Date: Tue, 25 Jul 2023 03:00:14 +0200 Subject: [PATCH 1/6] Update trustRegion.jl docstring update --- src/trustRegion.jl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/trustRegion.jl b/src/trustRegion.jl index 995463a92..490c154da 100644 --- a/src/trustRegion.jl +++ b/src/trustRegion.jl @@ -58,6 +58,8 @@ for large-scale and numerically-difficult nonlinear systems. preconditioners. For more information on specifying preconditioners for LinearSolve algorithms, consult the [LinearSolve.jl documentation](https://docs.sciml.ai/LinearSolve/stable/). + - `radius_update_scheme`: the choice of radius update scheme to be used. Defaults to RadiusUpdateSchemes.Simple + which follows the conventional approach - `max_trust_radius`: the maximal trust region radius. Defaults to `max(norm(fu), maximum(u) - minimum(u))`. - `initial_trust_radius`: the initial trust region radius. Defaults to From 2b6f1c6bf2fa951b7c87a709a56c60d320feccf7 Mon Sep 17 00:00:00 2001 From: Yash Raj Singh Date: Tue, 25 Jul 2023 03:07:44 +0200 Subject: [PATCH 2/6] docstring format --- src/trustRegion.jl | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/trustRegion.jl b/src/trustRegion.jl index 490c154da..0648ef785 100644 --- a/src/trustRegion.jl +++ b/src/trustRegion.jl @@ -1,11 +1,3 @@ -EnumX.@enumx RadiusUpdateSchemes begin - Simple - Hei - Yuan - Bastin - Fan -end - """ ```julia TrustRegion(; chunk_size = Val{0}(), autodiff = Val{true}(), @@ -90,6 +82,15 @@ for large-scale and numerically-difficult nonlinear systems. Currently, the linear solver and chunk size choice only applies to in-place defined `NonlinearProblem`s. That is expected to change in the future. """ +EnumX.@enumx RadiusUpdateSchemes begin + Simple + Hei + Yuan + Bastin + Fan +end + + struct TrustRegion{CS, AD, FDT, L, P, ST, CJ, MTR} <: AbstractNewtonAlgorithm{CS, AD, FDT, ST, CJ} linsolve::L From aad2f3e5d704195a9d2e49dc8a21e6242833eefb Mon Sep 17 00:00:00 2001 From: Yash Raj Singh Date: Wed, 26 Jul 2023 02:40:38 +0200 Subject: [PATCH 3/6] radius_update_scheme docstring --- src/trustRegion.jl | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/trustRegion.jl b/src/trustRegion.jl index 0648ef785..149c0b018 100644 --- a/src/trustRegion.jl +++ b/src/trustRegion.jl @@ -50,8 +50,10 @@ for large-scale and numerically-difficult nonlinear systems. preconditioners. For more information on specifying preconditioners for LinearSolve algorithms, consult the [LinearSolve.jl documentation](https://docs.sciml.ai/LinearSolve/stable/). - - `radius_update_scheme`: the choice of radius update scheme to be used. Defaults to RadiusUpdateSchemes.Simple - which follows the conventional approach + - `radius_update_scheme`: the choice of radius update scheme to be used. Defaults to `RadiusUpdateSchemes.Simple` + which follows the conventional approach. Other available schemes are `RadiusUpdateSchemes.Hei`, + `RadiusUpdateSchemes.Yuan`, `RadiusUpdateSchemes.Bastin`, `RadiusUpdateSchemes.Fan`. For more details, see the + tutorials and [Yuan, Yx](https://link.springer.com/article/10.1007/s10107-015-0893-2#Sec4). - `max_trust_radius`: the maximal trust region radius. Defaults to `max(norm(fu), maximum(u) - minimum(u))`. - `initial_trust_radius`: the initial trust region radius. Defaults to From e62056c39bff1767878b2c6599e44c1963cced8f Mon Sep 17 00:00:00 2001 From: Yash Raj Singh Date: Wed, 26 Jul 2023 02:52:45 +0200 Subject: [PATCH 4/6] final update --- src/trustRegion.jl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/trustRegion.jl b/src/trustRegion.jl index 149c0b018..854937479 100644 --- a/src/trustRegion.jl +++ b/src/trustRegion.jl @@ -52,8 +52,9 @@ for large-scale and numerically-difficult nonlinear systems. [LinearSolve.jl documentation](https://docs.sciml.ai/LinearSolve/stable/). - `radius_update_scheme`: the choice of radius update scheme to be used. Defaults to `RadiusUpdateSchemes.Simple` which follows the conventional approach. Other available schemes are `RadiusUpdateSchemes.Hei`, - `RadiusUpdateSchemes.Yuan`, `RadiusUpdateSchemes.Bastin`, `RadiusUpdateSchemes.Fan`. For more details, see the - tutorials and [Yuan, Yx](https://link.springer.com/article/10.1007/s10107-015-0893-2#Sec4). + `RadiusUpdateSchemes.Yuan`, `RadiusUpdateSchemes.Bastin`, `RadiusUpdateSchemes.Fan`. These schemes + have the trust region radius converging to zero that is seen to improve convergence. For more details, see the + [Yuan, Yx](https://link.springer.com/article/10.1007/s10107-015-0893-2#Sec4). - `max_trust_radius`: the maximal trust region radius. Defaults to `max(norm(fu), maximum(u) - minimum(u))`. - `initial_trust_radius`: the initial trust region radius. Defaults to From 496afd31a5d4ba798498ce71814aaf51105b55ed Mon Sep 17 00:00:00 2001 From: Yash Raj Singh Date: Wed, 26 Jul 2023 02:58:22 +0200 Subject: [PATCH 5/6] format --- src/trustRegion.jl | 1 - 1 file changed, 1 deletion(-) diff --git a/src/trustRegion.jl b/src/trustRegion.jl index 854937479..6567542eb 100644 --- a/src/trustRegion.jl +++ b/src/trustRegion.jl @@ -93,7 +93,6 @@ EnumX.@enumx RadiusUpdateSchemes begin Fan end - struct TrustRegion{CS, AD, FDT, L, P, ST, CJ, MTR} <: AbstractNewtonAlgorithm{CS, AD, FDT, ST, CJ} linsolve::L From f76ba689923ed4f4fa5c95447fcba3d32c82c52a Mon Sep 17 00:00:00 2001 From: Christopher Rackauckas Date: Sun, 30 Jul 2023 10:29:23 -0400 Subject: [PATCH 6/6] Update trustRegion.jl --- src/trustRegion.jl | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/trustRegion.jl b/src/trustRegion.jl index 6567542eb..828eeb9b1 100644 --- a/src/trustRegion.jl +++ b/src/trustRegion.jl @@ -1,3 +1,11 @@ +EnumX.@enumx RadiusUpdateSchemes begin + Simple + Hei + Yuan + Bastin + Fan +end + """ ```julia TrustRegion(; chunk_size = Val{0}(), autodiff = Val{true}(), @@ -85,14 +93,6 @@ for large-scale and numerically-difficult nonlinear systems. Currently, the linear solver and chunk size choice only applies to in-place defined `NonlinearProblem`s. That is expected to change in the future. """ -EnumX.@enumx RadiusUpdateSchemes begin - Simple - Hei - Yuan - Bastin - Fan -end - struct TrustRegion{CS, AD, FDT, L, P, ST, CJ, MTR} <: AbstractNewtonAlgorithm{CS, AD, FDT, ST, CJ} linsolve::L