Lanczos¶
Changed in version 2.12: Force call tracking fixed to use the job’s potential instance.
The Lanczos method determines the lowest curvature mode of the potential energy surface using the iterative Lanczos algorithm Malek and Mousseau [LCZ_MM00]. It is an alternative to the dimer method for min-mode following saddle searches.
Force call costs per eigenmode computation¶
Each min-mode method has different force evaluation costs per eigenmode computation step:
Method |
Force calls per step |
How it works |
|---|---|---|
Lanczos |
1 + N (N = Lanczos iters, typically 3–7) |
Builds Krylov subspace; 1 initial + 1 per iteration |
Improved Dimer |
2 + N (N = rotations, up to 20) |
Forward/backward FD + 1 per trial rotation |
ARTn |
1 per |
External force eval; internal Lanczos is implicit |
A batching potential sends the moved centre with the first displaced
image in one call for [Hessian] fd_scheme = one_sided and for
fd_scheme = central. The fourth-order scheme keeps that first product
on separate calls. Later Krylov products stay separate calls.
The Lanczos method converges the lowest eigenmode in fewer force calls because the Krylov basis extracts more curvature information per evaluation than repeated dimer rotations.
Benchmark: LJ38 TS optimization (100 structures)¶
Added in version 2.13.
Method |
Avg force calls |
Median |
Min |
Max |
Failures |
|---|---|---|---|---|---|
Lanczos |
238 |
178 |
84 |
1625 |
0/100 |
ARTn |
426 |
269 |
100 |
2462 |
10/100 |
Dimer |
523 |
359 |
151 |
2996 |
0/100 |
Force calls are counted via Potential::forceCallCounter (incremented on every
Matter::computePotential call). Cached evaluations (positions unchanged) do
not count.
When to Use Lanczos vs Dimer¶
Both methods find the same lowest eigenmode. The Lanczos method is generally more efficient (fewer force calls) while the Dimer fails less often and integrates with GP acceleration:
Lanczos: 1 gradient evaluation per iteration. Fewer total force calls. Natural for large systems and stiff EAM / Tersoff metals (Henkelman 2003; Olsen 2004). Integrates with OCINEB climbing-image refinement. If
rotations_maxon a dimer search is saturating without a mode, switch here.Improved Dimer: 2 evaluations per iteration (finite difference). More force calls but integrates with the AtomicGPDimer for GP-accelerated searches. Prefer this for tight defects where a short dimer stays in the basin.
ARTn: Push-based exploration. Finds different saddles than gradient-following methods. See ARTn.
Usage¶
The Lanczos method is selected in the saddle search configuration:
[Saddle Search]
min_mode_method = lanczos
[Lanczos]
tolerance = 0.01
max_iterations = 20
max_iterations controls how many Lanczos iterations are performed per
eigenmode computation. Each Lanczos iteration costs exactly 1 gradient
evaluation. Dimer rotation uses rotations_max.
Configuration¶
[Lanczos]
- pydantic model eon.schema.LanczosConfig[source]¶
- Fields:
tolerance (float)max_iterations (int)quit_early (bool)phva_atoms (str | list[int])
- field tolerance: float = 0.001¶
This is the convergence criteria for relative change in the estimated lowest eigenvalue.
- field max_iterations: int = 20¶
The maximum number of refinement iterations when calculating the minimum eigenvalue.
References¶
Rachid Malek and Normand Mousseau. Dynamics of Lennard-Jones clusters: A characterization of the activation-relaxation technique. Physical Review E, 62(6):7723–7728, December 2000. doi:10.1103/PhysRevE.62.7723.