There are inconsistencies and bugs in the PITV concept and code.
[x] Some chords of course like augmented chords are self-inverse; therefore, each of these chords has 2 I indexes. Not sure if this is a real problem, within the allowable range of PITV indexes all seems to work now.
[x] The range and counting of V (index of octavewise revoicings) is not consistent. The axiom should be start with the transposed normal form of the chord, and count revoicings until the revoiced chord has surpassed the range. The problem was not testing for going out of range after actually starting to iterate! I have reverted to OP as the base of iteration.
[ ] Gracefully handle chords that are outside PITV range. Decide whether to reflect or to wrap back into range.
I am closing this issue for the time being as I do not currently have a need to obtain PITV sequences from existing music. If and when I need that I will reopen this issue.
There are inconsistencies and bugs in the PITV concept and code.