pytc.ansatz.det.rank1_update_one_electron

pytc.ansatz.det.rank1_update_one_electron(det, walker, electron_idx)[source]

Rank-1 update of determinant quantities after a single-electron move.

Given a walker whose positions[electron_idx] has already been set to the new location, updates slater rows, inverse, grad/lap rows, and log-determinant/sign. O(N²) instead of O(N³) full recomputation.

Parameters:
  • det (flax.struct.dataclass) – SlaterDet object

  • walker – Walker (unbatched)

  • electron_idx – int — index of the moved electron

Returns:

scalar — det(S’)/det(S) (product over spin channels) det_logabs_new: scalar — updated log|det| det_sign_new: scalar — updated sign updated_walker: Walker with updated fields

Return type:

total_ratio