I have been reading about the statistics underlying BLAST, reaching the key equation
E=kmn*exp(lambda*S)
As far as I understand, the lambda is a scaling factor used in the construction of the substitution matrix in order to retain precision before converting the floats to integers. Thus, this lambda appears in almost every formula in order to convert the integer score that appears in the substitution matrix to the "real" log-odds score.
My question is: if BLAST needs to be so rigorous about the statistics, why is so important to round the floats to integers in the substitution matrix and then carrying this lambda term over all the equations? Because even with the lambda we loose precision at rounding, so why not just leave the matrix with float numbers?
Thanks