-
Notifications
You must be signed in to change notification settings - Fork 1
Description
At the moment, the main loop inside necromancy
keeps doubling the precision until the computed ghost invariants pass some tests (like being finite after taking the Galois conjugate). Once we have conjugated, there is no need for massive precision anymore, so we drop down to a (hard-coded) lower precision (currently 320 bits) where finding roots is efficient. However, we often need to go back to the top of the loop and double the precision again. The issue is that once we drop to the lower precision, the ghost that we have computed drops back down to this precision as well. To get the refined ghost invariants at the new precision, we have to not just double the precision of the ghost, but increase it all the way up from 320 bits. This wastes all the precision bumping that we did beyond 320 bits in any previous iteration.