Given a PD-code of a knot diagram (see here for what a PD-code is https://knotinfo.math.indiana.edu/descriptions/pd_notation.html), I want to obtain the PD-code of the link which is obtained by doing an oriented resolution (the resolution of a crossing which respects the orientation) on a given crossing.
Given a crossing $(a, b, c, d)$ my initial idea was to first detect if the crossing is positive or negative. If it is positive, I identify $d$ with $c$ and $b$ with $a$, since they will become the same strand. I do this by assigning $d$ to every $c$ value in the pd-code and assigning $b$ to every a value in the PD-code. If the crossing is negative, I do the same except that I identify $c$ with $b$ and $d$ with $a$.
Unfortunately this gave me contradictory results, implying that this was not doing an oriented resolution after all. The contradiction was that a knot which had smooth slice genus bigger than $5$, was transformed into a knot having slice genus 1 (maybe it gave the resulting components the wrong orientation before doing the second resolution?). This contradicts Lemma $5$ in (https://arxiv.org/abs/1508.01098), saying that every such pair of knots must have smooth slice genus differing by at most $1$.
Prof. Brittenham and Prof. Hermiller have implemented oriented resolutions in this paper: https://arxiv.org/abs/2112.14925
The code is available at https://www.math.unl.edu/~mbrittenham2/knot_data/4genus/ There, the oriented resolution for pd codes is implemented in the file 17cr_cross_switch_resol_codeW_via_PDcodes--final1.txt contained in later_runs_last3.zip
The code is very long, and I have ran what I think should do the oriented resolutions, but I keep getting errors, since I am most likely missing something. Somehow the function resolve_crossing(n,pd,find_pairs(pd)) creates wrong pd codes, even after I use the code above to validate it first.
If someone sees how this code can easily be used to to oriented resolutions on PD-codes, I would be happy as well.
So does anybody know how to implement oriented resolutions in the language of PD-codes? If one can implement oriented resolutions in the language of DT-codes (which I think is even harder) I would be equally happy. I know that in the language of braid words, oriented resolutions are just deletions in the braid word, but unfortunately one can only do them in diagrams of braid closures. Is there maybe another link diagram notation in which one can easily implement these oriented resolutions? Or another software which can do this ?(I am working with SnapPy inside Sage). I want this to be able to run for big families automatically, not by hand in a diagram.
Thank you for your time.