line_integral: Line integral (in the complex plane)

Description Usage Arguments Details Value See Also Examples

Description

Provides complex line integrals.

Usage

1
line_integral(fun, waypoints, method = NULL, reltol = 1e-8, ...)

Arguments

fun

integrand, complex (vectorized) function.

method

integration procedure, see below.

waypoints

complex integration: points on the integration curve.

reltol

relative tolerance.

...

additional parameters to be passed to the function.

Details

line_integral realizes complex line integration, in this case straight lines between the waypoints. By passing discrete points densely along the curve, arbitrary line integrals can be approximated.

line_integral will accept the same methods as integral; default is integrate from Base R.

Value

Returns the integral, no error terms given.

See Also

integral

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
##  Complex integration examples
points <- c(0, 1+1i, 1-1i, 0)           # direction mathematically negative
f <- function(z) 1 / (2*z -1)
I <- line_integral(f, points)
abs(I - (0-pi*1i))                      # 0 ; residuum 2 pi 1i * 1/2

f <- function(z) 1/z
points <- c(-1i, 1, 1i, -1, -1i)
I <- line_integral(f, points)           # along a rectangle around 0+0i
abs(I - 2*pi*1i)                        #=> 0 ; residuum: 2 pi i * 1

N <- 100
x <- linspace(0, 2*pi, N)
y <- cos(x) + sin(x)*1i
J <- line_integral(f, waypoints = y)    # along a circle around 0+0i
abs(I - J)                              #=> 5.015201e-17; same residuum

Example output

[1] 0
[1] 0
[1] 5.015201e-17

pracma documentation built on Dec. 11, 2021, 9:57 a.m.