Next: Alternate S(A) Functions
Up: Extending Seysen's Algorithm
Previous: Alternate Selection Criteria
In Section 2.2.2 above we looked at the effect of
placing restrictions on the possible values of
on the
performance of Seysen's algorithm. In particular,
was allowed
either to be any integer value, or to only take on the values
.
We found that the algorithm worked slightly better if row moves were
chosen with
but only
moves with
were actually performed, probably because the changes
made to the lattice basis on any single row move are smaller. We pay
for the improved performance, however, though an increase in the running
time of the overall algorithm, as it takes more row operations with the
restriction in place to add a large integer multiple of one basis vector
to another basis vector.
As an example of other possible methods of choosing or restricting
values, consider the following set of restrictions:
- When choosing a pair of vectors for a row move,
may
take on any integer value.
- When the row move is actually performed, if
use the largest power of two strictly less than
(unless
,
in which case
should
be used). If
use the smallest power of two
strictly greater than
(again, unless
,
in which case -1 should be used).
We may abbreviate this set of conditions as
.
What we are
doing is computing the best possible value of
,
but instead of
performing one row move to compute
,
we perform a logarithmic number of moves. In this
way we might be able to combine the benefits of the
approach
(fast running time) and the
approach (better overall
performance). This approach has not been tested, and judging from
the relative differences noticed between the
and
cases is not likely to produce very large changes in reduction
performance. However, it is an example of other possible
restrictions which could be tried.
Next: Alternate S(A) Functions
Up: Extending Seysen's Algorithm
Previous: Alternate Selection Criteria
Brian A. LaMacchia
1999-10-30