You are on page 1of 2

Exercise 1.

zzzzzzzzzzzz

2024-01-07

Exercise 1.6. As in Exercise 1.1, compute γ × n for n ∈ 10, 100, 1000, 10000, 100000. Compare your
approximations γ × n with the true value of the Euler’s constant (which you can obtain using
-digamma(1) in R) to find the approximation error. Plot n against the approximation error
with a log-log scale.

n <- seq (from = 1, to = 10, by = 1)


euler_10 <- sum(nˆ(-1)) - log(10, base = exp(1))
euler_10

preparation works: approximated values


## [1] 0.6263832
n <- seq (from = 1, to = 100, by = 1)
euler_100 <- sum(nˆ(-1)) - log(100, base = exp(1))
euler_100

## [1] 0.5822073
n <- seq (from = 1, to = 1000, by = 1)
euler_1000 <- sum(nˆ(-1)) - log(1000, base = exp(1))
euler_1000

## [1] 0.5777156
n <- seq (from = 1, to = 10000, by = 1)
euler_10000 <- sum(nˆ(-1)) - log(10000, base = exp(1))
euler_10000

## [1] 0.5772657
n <- seq (from = 1, to = 100000, by = 1)
euler_100000 <- sum(nˆ(-1)) - log(100000, base = exp(1))
euler_100000

## [1] 0.5772207

true_value <- -digamma(1)

know the true value of Euler’s constant

eulers <- c(euler_10, euler_100, euler_1000, euler_10000, euler_100000)

approximation_error <- abs (eulers - true_value)

1
data.frame (x1 = c(euler_10, euler_100, euler_1000, euler_10000, euler_100000),
"true value" = -digamma(1),
"approximation error" = approximation_error)

find the errors


## x1 true.value approximation.error
## 1 0.6263832 0.5772157 4.916750e-02
## 2 0.5822073 0.5772157 4.991667e-03
## 3 0.5777156 0.5772157 4.999167e-04
## 4 0.5772657 0.5772157 4.999917e-05
## 5 0.5772207 0.5772157 4.999992e-06

plot (log(c (10, 100, 1000, 10000, 100000)), log(approximation_error),


pch = 20, col = "hotpink", type = "b",
xlab = "log of n - values", ylab = "log of approximation errors",
main = "plot of n against the approximation error \n -- Euler's constant")

plot of n against the approximation error


−− Euler's constant
−4
log of approximation errors

−6
−8
−10
−12

2 4 6 8 10

plot the graph on log scale log of n − values


### or you can use an argument within the plot() function: log = "xy".

You might also like