Cálculos iterativos

\(\newcommand\Id[1]{\mbox{\textit{#1}}}\)

Séries matemáticas

  • somatórios
  • produtórios (fatorial)
  • fibonacci

Aproximações numéricas

Esses métodos são essenciais em computação científica, física e engenharia.

  • \(e^x = \sum_{k=0}^\infty \frac{x^k}{k!}\)

  • Integrações numéricas (regra dos trapézios)

  • raiz quadrada: método de Herão

def raiz_quadrada(n, iterações=10):
    x = n/2  # Chute inicial
    for _ in range(iterações):
        x = (x + n/x) / 2
    return x
  • Pi (Leibniz)
def aproxima_pi(n_termos):
    pi_quartos = 0
    for k in range(n_termos):
        pi_quartos += (-1)**k / (2*k + 1)
    return 4 * pi_quartos
  • Número de Euler (\(e\))
def aproxima_e(n_termos):
    e = 0
    fatorial = 1
    for k in range(n_termos):
        if k > 0:
            fatorial *= k
        e += 1 / fatorial
    return e

Outras

  • Conversão de bases

  • MDC

  • Potência por Exponenciação Rápida

def potencia(a, b):  
    resultado = 1  
    while b > 0:  
        if b % 2 == 1:  
            resultado *= a  
        a *= a  
        b //= 2  
    return resultado  

print(potencia(2, 10))  # Saída: 1024  

Algoritmo de Collatz (Conjectura de Collatz)

O Algoritmo de Collatz, também conhecido como Conjectura de Collatz, é uma sequência matemática simples com regras de iteração, mas que esconde um dos problemas não resolvidos mais famosos da matemática.


Definição e Regras

Dado um número inteiro positivo ( n ), a sequência é gerada da seguinte forma:

  1. Se ( n ) for par: Divida ( n ) por 2 (( n = n / 2 )).
  2. Se ( n ) for ímpar: Multiplique ( n ) por 3 e some 1 (( n = 3n + 1 )).
  3. Repita o processo até que ( n ) se torne 1.

Exemplo para ( n = 6 ):
( 6 )


A Conjectura de Collatz

A hipótese não provada é que:
> “Qualquer que seja o valor inicial ( n ), a sequência sempre atingirá o número 1 em um número finito de passos.”

  • Status matemático: Apesar de testada para números absurdamente grandes (ex: ( 2^{60} )), ninguém conseguiu provar ou refutar a conjectura.
  • Prêmio: Recompensas em dinheiro já foram oferecidas por sua solução (ex: Paul Erdős ofereceu US$ 500).

Implementação Iterativa (Python)

def collatz(n):  
    sequencia = [n]  
    while n != 1:  
        n = n // 2 if n % 2 == 0 else 3 * n + 1  
        sequencia.append(n)  
    return sequencia  

print(collatz(6))  
# Saída: [6, 3, 10, 5, 16, 8, 4, 2, 1]  

Características Interessantes

1. Comportamento Imprevisível

  • Pequenas mudanças no valor inicial podem gerar sequências radicalmente diferentes
  • Exemplo:
    • Para n = 12: sequência tem 9 passos
    • Para n = 13: sequência tem 9 passos
    • Para n = 27: sequência tem 111 passos, atingindo valor máximo de 9.232

2. Padrão de Crescimento e Decaimento

  • Os números alternam entre:
    • Redução rápida (quando pares são divididos por 2)
    • Crescimento abrupto (quando ímpares viram 3n+1)
  • Paradoxo: A sequência sempre parece convergir para 1, apesar dos aumentos temporários

3. Ciclos Únicos

  • O único ciclo conhecido é: 1 → 4 → 2 → 1