Gegeven onderstaande reeksontwikkeling voor $$\ln{x}$$ voor $$x > 0$$.

$$ \ln{x} = \sum_{i=0}^{+\infty} \frac{2}{2i+1} \big( \frac{x - 1}{x + 1} \big) ^ {2i + 1} $$

Schrijf een gevectoriseerde functie natlog(x). Deze functie heeft als eerste argument hetzij een reëel getal, strikt groter dan nul, hetzij een NumPy-rij bestaande uit reële getallen strikt groter dan nul. Het tweede argument is een natuurlijk getal, strikt groter dan 0, dat het aantal termen in de reeksontwikkeling bepaalt.

De functie levert de gewenste benadering van de natuurlijke logaritme op van het eerste argument. Indien dit eerste argument een reëel getal is, is het resultaat opnieuw een reëel getal. Indien het eerste argument een NumPy-rij is, dan is het resultaat een NumPy-rij (die de gewenste benadering voor elk van de elementen uit de argumentrij bevat).

Voorbeeld

 
natlog(7.0, 5) = 1.930995614188058
natlog(np.array([1.5, 2.0, 2.5, 7.0]), 5) = [ 0.4054651   0.69314605  0.91627143  1.93099561]