Obviously we are not very keen of the thought of using trigonometric
functions throughout the factorization. Fortunately, there exists an
efficient formula for calculating the rotation coefficients
and
from above. The following is taken from [MC]. If we want to
eliminate element
using element ,
assuming both are non-zero,
the coefficients are given by:
The actual rotation of two rows, given by repeating equation 2.1, will cost us FLOPS, if is the number of elements in the rows rotated where both rows have non-zeros, and is the number of elements where only one row has a non-zero.
Finally, the back-substitution of one row costs us approximately FLOPS, where is the number of non-zeros in the row currently being worked on.
Depending on the hardware on which we run the actual factorization, the square root used in equations 2.3 and 2.4, can cost anything from one FLOP to ``many'' FLOPS. We take the liberty to account one FLOP for every square-root used, but this is easily changed in the actual optimizer.
<