# Discrete Logarithms

## `Log(b, x): QuadBinElt, QuadBinElt -> RngIntElt`

The discrete logarithm of binary quadratic form $x$ with respect to base $b$, or -1 if Magma can that determine no solution exists. This function exists only for negative discriminant forms. Computation is done via the Pohlig-Hellman algorithm along with a collision search subroutine (a variant of Pollard’s rho method). If the user is unsure whether a solution exists, it is safest to use `Log` with a time limit (see below) to prevent an infinite loop in the collision search.

## `Log(b, x, t): QuadBinElt, QuadBinElt, RngIntElt -> RngIntElt`

Searches for up to $t$ seconds for the discrete logarithm of binary quadratic form $x$ with respect to base $b$. This function exists only for negative discriminant forms. If Magma is able to determine no solution exists, then -1 will be returned. If no solution is found within the given time frame, then -2 will be returned. Computation is done via the Pohlig-Hellman algorithm along with a collision search subroutine (a variant of Pollard’s rho method).
