Herão de Alexandria foi um matemático de destaque com muita controvérsia sobre a época em que viveu, havendo estimativas que variam de 150 a.C. a 250 d.C.. seus trabalhos de Matemática e Física são numerosos e variados, sendo considerado um enciclopedista. Em seu Livro A Métrica, encontra-se o método de Herão de aproximar a raiz quadrada de um número inteiro não-quadrado perfeito. Tal método é hoje utilizado com freqüência por computadores e permite sucessivas aproximações.
Dada a raiz quadrada de um número n, assumindo a0 como uma aproximação inicial, temos:
Uma melhor aproximação será dada pela próxima iteração:
Assim prossegue e a cada iteração melhora a aproximação da raiz.
A saber: Se n = a ∙ b, então (a + b)/2 é uma aproximação de √n, que melhora com a proximidade de a e b.
Após a escolha da aproximação inicial a0, podemos construir o algoritmo:
Onde, para cada iteração k, para todo k = 1, 2, 3, ..., encontramos uma raiz ak mais aproximada de n.
Surge então a questão: Até quando essas iterações seguem-se? Para evitar que o programa entre numa rotina de cálculos infinitos, inicialmente devemos impor limites, não para as iterações, mas para o erro da aproximação. Ou seja, se quisermos obter uma aproximação de uma raiz com pelo menos 5 casas decimais corretas, com o erro E < 10– 5 , por exemplo, devemos impor uma precisão ε = 1 . 10– 5 e devemos, a cada iteração, fazer o teste da raiz aproximada para checar se satisfaz a precisão ε imposta inicialmente. O erro é dado por E = |(ak)2 - n|. Se o valor absoluto do quadrado da raiz aproximada ak, subtraída de n for menor que a precisão ε, então tome ak como raiz aproximada.
Exemplo: Aproximar √3 pelo método de Herão com precisão de ε = 1 . 10– 4.
Como a raiz quadrada de 3 está entre 1 e 2, tomamos como aproximação inicial a0 = 1,5.
Testamos o erro da aproximação inicial a0. Como |1,52 - 3| > 10– 4, continuamos as iterações:
Fazemos:
k = 1
Como |1,752 - 3| > 10– 4, continuamos as iterações:
k = 2
Como |1,7321428572 - 3| > 10-4, continuamos as iterações:
k = 3
Como |1,7320581001472 - 3| < 10-4, tomamos a3 como raiz aproximada de √3, com precisão até a sétima casa decimal.