Generic discrete_log
I've been struggling with discrete_log function. The docs say it is the generic BSGS algorithm that is supposed to work in any group. The function works e.g. if I write
discrete_log(Mod(9, 17), Mod(2, 17), 16, operation='*')
However it keeps returning 0 when I put operation='other', e.g.
discrete_log(9, 2, 16, operation='other', op=lambda x, y: (x * y) % 17)
The op function is not even called once. Is there something that I'm doing wrong or is discrete_log not really generic?
For my version 7.5.1 the first line does not work,
runs into
However...
Typing
??discrete_log
i could not find the path really considering the'other'
operation... So why not use the operations * and + available? (Or write the corresponding adapted code to search for the discrete log in a very special situation...)