Basic Examples
The Riemann surface of the square root functions plotted as the real part of :
The Riemann surface of the cube root functions plotted as the real part of :
The Riemann surface of the function w defined implicitly through w^{5}=1-z^{3}:
The Riemann surface of a function with three logarithmic branch points at z=1, z=-(-1)^{1/3}, and z=-(-1)^{2/3}:
The Riemann surface of a more complicated function with multiple logarithmic branch points:
Scope
The (vertical) function value displayed can be any linear combination of Re[z], Im[z], Re[w], Im[w]:
The {x,y,z}-values displayed can be any linear combination of Re[z], Im[z], Re[w], Im[w]:
A wide class of compositions of elementary functions can be visualized. Here are some examples containing trigonometric and inverse trigonometric functions:
Riemann surface of nested square and cube roots:
Root objects define implicitly bivariate polynomials and the corresponding Riemann surface can be plotted. Here is an irreducible quantic shown:
For the purpose of the RiemannSurfacePlot3D function, the product log function is considered an elementary function:
Here are the real and imaginary parts of the function :
The vertical value of the surface can be a linear combination of the real and imaginary parts of z and w:
Even all three coordinate values of the surface can be such a linear combination:
Options
PlotStyle
Specify a plot style for the whole Riemann surface:
A list of style directives will be applied cyclically to the radial-azimuthal patches that result from the branch point-induced tensor-product subdivision of the complex z-plane:
ColorFunction
Color the surface according to the argument of w:
Use a color functions that depends on z+w:
Color a Riemann surface according to the distance to the nearest branch point, with parts of the surface that are near to a branch point being red:
ShowBranchPoints and BranchPointStyle
With the setting "ShowBranchPoints"→True, branch points over the z-plane will be indicated as vertical tubes (mouseover the vertical tubes to see z-positions of the branch points):
The option "BranchPointStyle" determines the color of these tubes:
BranchPointPlotRangeFactor
The default plot range extends the distance from the origin to the furthest branch point by 50%:
Show the Riemann surface with more padding (but same box ratios):
LogSheets
Logarithmic branch points connect infinitely many sheets. By default, the principal sheet and one sheet below and above are used. Using the option "LogSheets" more or less sheets could be displayed:
BranchPointOffset
The default the numerical computation of the surface patches starts 10^{-6} away from any branch point. For most surfaces this results in defacto invisible gaps between the patches:
By specifying a larger offset from the branch point-generated patches gaps between the patches become visible. The next input colors the patches differently:
PlotPoints
The option PlotPoints determines the approximate number of radial and azimuthal plot points:
StitchPatches
The option "StitchPatches" tries to connect neighboring patches by stitching them together with tiny polygons to obtain water-tight surfaces:
While visually the two graphics are quite similar, the stitched patches result in a larger number of graphics complexes in the resulting 3D graphic:
Graphics3D options
All options of Graphics3D can be specified:
Plot of the Riemann surface of a general quartic polynomial with multiple options specified:
Applications
Show the Riemann surfaces for the simple power functions colored by the argument of w:
Replacing z→ z^{n}+z^{-n} in the last example gives more complicated surfaces with a pole at z=0:
Riemann surfaces of general cubics (in total degree) polynomials might or might not have poles:
Real parts of logarithms typically show (logarithmic) singularities, visible as long thin tubes extending up or down. Imaginary parts often are bounded.:
Logarithmic and algebraic branch points can be at the same z-values:
Properties and Relations
Inverse trigonometric functions can be expressed through logarithms and so the Riemann surfaces of such functions show logarithmic branch points:
Tow Riemann surfaces of functions containing square roots and logarithms:
When displaying the real or imaginary part vertically, Riemann surfaces can potentially separate into disconnected parts:
Linear combinations of Re(w) and Im(w) typically result in connected Riemann surfaces:
The Riemann surface of also splits into separate (intersecting, but not smoothly connected) pieces:
The Riemann surface of w=2log(z)-log^{2}(z) also splits into separate pieces:
Note that the classic identity log^{2}(z)=2log(z) holds only for positive real z:
Expressions containing square roots and logarithms that become equal after PowerExpand are often not equivalent for all complex numbers. Here is an example:
But the Riemann surfaces of such expressions are identical:
In the following example, asymptotically approaches a constant. The cube root shows the three values of the constant:
Using a logarithm instead shows a Riemann surface with infinitely many sheets (we display 5 = 4+1/2+1/2):
The Riemann surface of roots of polynomials displayed as the real and imaginary part are typically visually quite similar (note the slightly different orientation):
For functions containing logarithms, the real and imaginary parts typically look quite different:
Riemann surfaces constructed from nested radicals can take on a large variety of shapes:
Compare the result of RiemannSurfacePlot3D with two other construction methods for Riemann surfaces:
For Riemann surfaces defined through bivariate polynomials one can separate the real and imaginary parts and eliminate variables. The next inputs computes an implicit form of v=Im(w) as a functions of x=Re(z) and y=Im(z) for w^{3}=1-z^{4}:
The implicit form is a total degree 16 trivariate polynomial:
Using ContourPlot3D we obtain the following surface:
Alternatively one can use Plot3D to plot every sheet and then show all sheets (note the gaps that arise from the Exclusions option of Plot3D):
Possible Issues
Only multi-valued functions are plotted:
Even simple-looking functions with multiple logarithmic branch points can generates plots with many sheets:
Neat Examples
Compare the Riemann surface with the plaster model (left) from Schilling's catalog (image from the Göttingen Collection of Mathematical Models and Instruments) with the plot from RiemannSurfacePlot3D (right):
Two Riemann surfaces of quotients of square roots and logarithms:
The rotated (for a more interesting look) Riemann surface of :
The rotated (for a more interesting look) Riemann surface of :
The imaginary parts of of the Riemann surface of log^{2}(z) reminds on nested tops:
The Riemann surface of colored according to the argument of w:
Color the real part according to the imaginary part:
Color the sheets according to the argument of the z-value:
The internals of this Riemann surface of a ratio of arctan functions:
Color the surface blue when the real part of w is greater than the imaginary part, red otherwise:
The complicated Riemann surface of the square root of the logarithm of a polynomial:
Plot a camouflaged Riemann surface:
Plot a simple Riemann surface:
“Roughen” the Riemann surface by moving of the surface by small random amounts:
Add the Union Jack into the patches of a Riemann surface as a texture:
A Riemann surface that slowly fades out:
Plot an auto-rotating Riemann surface:
Cut a Riemann surface along shifted x,y-planes:
Smoothly change from displaying the real part to displaying the imaginary parts of :
By considering a Riemann surface as part of {z,w}∈ℂ^{2}≃ℝ^{4}, by rotating the surface and projecting into 2D space one can interactively explore the complete Riemann surface. Every angle results in a different 3D surface: