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
On my machine this takes 0.7 s. Then @profview shows about 25% of the time is in basis_for_symmetry_allowed_couplings. The cost of this function scales as follows:
The time for reference_bonds(cryst, 4.0) drops to just 0.05 s (a factor of 60+ speedup) if the score_bond function is disabled. So the slow thing is selecting, from among all equivalent bonds, which one should be used as the reference bond.
Within scoring, the slow thing is likely to be basis_for_symmetry_allowed_couplings -> basis_for_symmetry_allowed_couplings_aux.
Currently, this "basis" is being calculated from scratch. Instead, after calculating it for one bond, it can be rotated to each of the symmetry-equivalent bonds in the list. It would still necessary to re-sparsify after each rotation, but this step is probably faster than calculating everything from scratch.
On my machine this takes 0.7 s. Then
@profview
shows about 25% of the time is inbasis_for_symmetry_allowed_couplings
. The cost of this function scales as follows:A cubic scaling wouldn't be surprising here. But maybe there are strategies to make this faster.
The text was updated successfully, but these errors were encountered: