Some Examples

Here is a collection of two dozen Riemann surfaces of "arbitrary" functions calculated using the implemented function RiemannSurface. Nearly any "arbitrary" function can be drawn, but to avoid the surface intersecting itself too often, it should typically not contain more than three logarithms. The following examples were selected according to the "appearance" of their Riemann surface from a few hundred "randomly" generated functions and their rendered Riemann surfaces. The implementation is quite general and works for arbitrary functions. The author encourages the user to try their own favorite function.

#01

This function inherits its branch points from the arcsine function and the three roots of the cubic polynomial. The denominator contributes a pole at .

branchPoints[wExample,z] // FullSimplify

#02

This function has five logarithmic branch points. They arise from the argument of the logarithm.

branchPoints[wExample,z] // FullSimplify

#03

This function has four branch points and a clearly visible logarithmic singularity at the origin.

branchPoints[wExample,z] // FullSimplify

#04

This function has six branch points which are easy to see in the resulting graphic.

branchPoints[wExample,z] // FullSimplify

#05

This function has two branch points at and . Both are clearly visible.

branchPoints[wExample,z] // FullSimplify

#06

This function has logarithmic and square root branch points.

branchPoints[wExample,z] // FullSimplify

#07

Here is another function with logarithmic and square root branch points.

branchPoints[wExample,z] // FullSimplify

#08

This function has five branch points. The three visible singularities arise from the zeros of the cubic polynomial in the denominator.

branchPoints[wExample,z] // FullSimplify

#09

This is a function with logarithmic branch points and a logarithmic singularity.

branchPoints[wExample,z] // FullSimplify

#10

This is a function with six branch points.

branchPoints[wExample,z] // FullSimplify

#11

The two branch points of the following function are .

branchPoints[wExample,z] // FullSimplify

#12

This is a more complicated function with two logarithmic branch points.

branchPoints[wExample,z] // FullSimplify

#13

This is a complicated function involving nested square roots and a logarithm.

branchPoints[wExample,z] // FullSimplify

#14

This is a function with five logarithmic branch points.

branchPoints[wExample,z] // FullSimplify

#15

Here is an algebraic function with seven branch points.

branchPoints[wExample,z] // FullSimplify

#16

Here is another logarithm with a complicated algebraic argument.

branchPoints[wExample,z] // FullSimplify

#17

This is a rational function containing an inverse trigonometric function.

branchPoints[wExample,z] // FullSimplify

#18

This function has coinciding logarithmic and square root branch points at .

branchPoints[wExample,z] // FullSimplify

#19

This quite complicated function has five branch points.

branchPoints[wExample,z] // FullSimplify

#20

The five branch points of this function are easily identifiable in the graphic.

branchPoints[wExample,z] // FullSimplify

#21

The logarithm here has a complicated structure that gives rise to seven branch points. This time we use five sheets for each logarithm.

branchPoints[wExample,z] // FullSimplify

#22

This function has six branch points.

branchPoints[wExample,z] // FullSimplify

#23

Here we have eight branch points originating form the zeros of the two polynomials inside the logarithms.

branchPoints[wExample,z] // FullSimplify

#24

The logarithm here has a high-degree polynomial as its argument which gives rise to 17 branch points.

branchPoints[wExample,z] // FullSimplify

Although many more compositions of transcendental functions can be visualized using the function RiemannSurface, we will end here.