  We describe and analyze a numerical algorithm for computing the homology
(Betti numbers and torsion coefficients) of real projective varieties. Here
numerical means that the algorithm is numerically stable (in a sense to be made
precise). Its cost depends on the condition of the input as well as on its size
and is singly exponential in the number of variables (the dimension of the
ambient space) and polynomial in the condition and the degrees of the defining
polynomials. In addition, we show that outside of an exceptional set of measure
exponentially small in the size of the data, the algorithm takes exponential
time.
