1, by repeated bisection: after we have determined a lower bound L and an upper bound U, we choose [lambda] in the middle, and if our eigenvalue is in the left interval, then we set U = [lambda], otherwise L = [lambda], so that in either case in the next step the bisection interval in which the eigenvalue lies is of half size.
The complete loop of the bisection step is illustrated in the following.
We must therefore start again with the left margin L of the bisection interval from the general lower bound of all the eigenvalues, namely [b.
Bisection for selected eigenvalues and finding the spectral norm [parallel]A[parallel]2 for a general N x N matrix A whenever A*A is quasiseparable.
N, the eigenvalues found by the bisection method and, respectively, the Matlab eigenvalues, then the mean relative error for 20 matrices is
3 displays the average relative errors of the eigenvalues over 20 matrices of fixed size, where the size N is a power of 2 between 32 and 2048, for the algorithms Sturm bisection, divide and conquer, and reduction to tridiagonal plus implicit QR.
1 displays the average and worst absolute error in finding eigenvalues for Sturm bisection as compared to the Matlab eigenvalues, which are considered the exact ones.
4 displays the time for divide and conquer, for reduction to tridiagonal plus implicit QR, bisection, and Matlab, while explicit QR is not plotted since it is the slowest and the less accurate.
Calculating the results for all the 2200 matrices, which involves our fast Sturm bisection algorithm, and building the matrices from their generators in order to run the Matlab function condeig and making many other computations, took more more than five days on an average laptop.