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
Bump adaptive_repo to current main and soften unbenchmarked claims
The examples in the paper now use the current API (loss_goal etc.), so
pin the submodule to a version that actually has it instead of v0.8.1.
The figure notebooks only use APIs that still exist (runner.simple,
curvature_loss_function, Learner2D.ip, LearnerND._get_iso, utils.load).
Also rephrase the anisotropic-meshing and Rust-triangulation mentions:
we have no benchmarks for either in this paper, so describe them as
implemented/aimed-at rather than claiming improvement.
Again, it is possible to specify a custom loss function using the `loss_per_simplex` argument.
479
-
The pure-Python triangulation that backs the `LearnerND` can optionally be replaced by a Rust implementation (the `adaptive-triangulation` package), which significantly reduces $t_\textrm{suggest}$ when the number of points becomes large.
479
+
The pure-Python triangulation that backs the `LearnerND` can optionally be replaced by a Rust implementation (the `adaptive-triangulation` package), aimed at reducing $t_\textrm{suggest}$ when the number of points becomes large.
480
480
481
481
#### The BalancingLearner can run many learners simultaneously.
482
482
Frequently, more than one function (learner) needs to run at once, to do this we have implemented the `BalancingLearner`, which does not take a function, but a list of learners.
@@ -497,13 +497,13 @@ For more details on how to use Adaptive, we recommend reading the tutorial insid
497
497
498
498
# Possible extensions
499
499
500
-
#### Anisotropic triangulation improves the algorithm.
500
+
#### Anisotropic triangulation may improve the algorithm.
501
501
One of the fundamental operations in the adaptive algorithm is selecting a point from within a subdomain.
502
502
The basic implementation uses simplices for subdomains (triangles in 2D, tetrahedrons in 3D), and picks a point either (1) in the center of the simplex or (2) on the longest edge of the simplex.
503
503
The choice depends on the shape of the simplex; the center is only used if using the longest edge would produce unacceptably thin simplices.
504
-
A better strategy is to choose points such that the simplices align with the gradient of the function, creating an anisotropic triangulation [@Dyn1990]; this is a similar approach to the anisotropic meshing techniques mentioned in the literature review.
505
-
The `LearnerND` implements this strategy as an option (`anisotropic=True`), stretching the triangulation along the local gradient when choosing new points.
506
-
This option is currently limited to scalar-valued functions; extending it to vector-valued functions is a possible improvement.
504
+
A better strategy may be to choose points such that the simplices align with the gradient of the function, creating an anisotropic triangulation [@Dyn1990]; this is a similar approach to the anisotropic meshing techniques mentioned in the literature review.
505
+
The `LearnerND` implements this strategy as an opt-in feature (`anisotropic=True`), stretching the triangulation along the local gradient when choosing new points.
506
+
It is currently limited to scalar-valued functions, and we have not yet quantified its benefit; extending it to vector-valued functions and benchmarking it remain future work.
507
507
508
508
#### Learning stochastic functions is a promising direction.
509
509
Stochastic processes frequently appear in numerical sciences.
0 commit comments