Skip to content

Commit dc710f9

Browse files
committed
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.
1 parent a758df6 commit dc710f9

2 files changed

Lines changed: 6 additions & 6 deletions

File tree

adaptive_repo

Submodule adaptive_repo updated 140 files

paper.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -476,7 +476,7 @@ runner = Runner(learner, loss_goal=0.01)
476476
```
477477

478478
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.
480480

481481
#### The BalancingLearner can run many learners simultaneously.
482482
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
497497

498498
# Possible extensions
499499

500-
#### Anisotropic triangulation improves the algorithm.
500+
#### Anisotropic triangulation may improve the algorithm.
501501
One of the fundamental operations in the adaptive algorithm is selecting a point from within a subdomain.
502502
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.
503503
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.
507507

508508
#### Learning stochastic functions is a promising direction.
509509
Stochastic processes frequently appear in numerical sciences.

0 commit comments

Comments
 (0)