estimator.Cost.repeat¶

Cost.repeat(times, select=None, lll=None)[source]

Return a report with all costs multiplied by times.

Parameters: d – a cost estimate times – the number of times it should be run select – toggle which fields ought to be repeated and which shouldn’t lll – if set amplify lattice reduction times assuming the LLL algorithm suffices and costs lll a new cost estimate

We maintain a local dictionary which decides if an entry is multiplied by times or not. For example, δ would not be multiplied but “#bop” would be. This check is strict such that unknown entries raise an error. This is to enforce a decision on whether an entry should be multiplied by times if the function report reports on is called times often.

EXAMPLE:

sage: from estimator import Param, dual
sage: n, alpha, q = Param.Regev(128)

sage: dual(n, alpha, q).repeat(2^10)
rop:   2^91.4
m:   2^18.6
red:   2^91.4
delta_0: 1.008810
beta:      111
d:      376
|v|:  736.521
repeat:   2^29.0
epsilon: 0.003906

sage: dual(n, alpha, q).repeat(1)
rop:   2^81.4
m:      376
red:   2^81.4
delta_0: 1.008810
beta:      111
d:      376
|v|:  736.521
repeat:   2^19.0
epsilon: 0.003906