Complex-Valued
Visualization

Nirmal Malapaka
Wolfram Research

Introduction

What's New in Mathematica 12

Complex-Valued Visualization Talk [Brett Champion, Twitch]

Complex-Valued Visualization Talk [Nirmal Malapaka, WTC2018]

Complex Visualizations

ComplexListPlot

ReImPlot

AbsArgPlot

ComplexPlot

ComplexPlot3D

ComplexRegionPlot

ComplexVectorPlot

ComplexStreamPlot

ComplexContourPlot

ComplexListPlot

ComplexListPlot[Table[Zeta[1/2+I*y],{y,0,50,.1}],]

ComplexListPlot[Table[Zeta[1/2+I*y],{y,0,50,.01}],Joined->True,ScalingFunctions->{"Reverse",None},]

ReImPlot

ReImPlot[Zeta[1/2+I t],{t,0,50},ReImLabels->{Re,Im},PlotLegends->Automatic,ReImStyle->{Automatic,Dashing[{0.01,.02}]},Epilog->{PointSize[0.03`],Point[Table[{Im[ZetaZero[k]],0},{k,10}]]},]

ReImPlot[RiemannXi[1/2+I t],{t,0,50},ReImLabels->{Re,Im},PlotLegends->Automatic,ReImStyle->{Automatic,Dashing[{0.01,.02}]},Epilog->{PointSize[0.03`],Point[Table[{Im[ZetaZero[k]],0},{k,10}]]},]

AbsArgPlot

AbsArgPlot[Zeta[1/2+I t],{t,0,50},]

AbsArgPlot[RiemannXi[1/2+I t],{t,0,50},]

ComplexPlot f: ℂ->ℂ

ComplexPlot[Zeta[s],{s,-20-20*I, 20+20*I},PlotLegends->Automatic]

ComplexPlot[RiemannXi[z],{z,-20-20*I, 20+20*I},PlotLegends->Automatic,ColorFunction->{Automatic,"CyclicLogAbs"}]

ComplexPlot3D f: ℂ->ℂ

ComplexPlot3D[Zeta[s],{s,-5-5*I,5+5*I},ScalingFunctions->"Log",]

ComplexPlot3D[RiemannXi[z],{z,-20-20*I, 20+20*I},ScalingFunctions->"Log",]

ComplexRegionPlot f: ℂ->ℝ

ComplexRegionPlot[Im[Zeta[s]]>0,{s,-5-5*I,5+5*I}]

ComplexRegionPlot[Im[RiemannXi[z]]>0,{z,-20-20*I, 20+20*I}]

Complex(Stream)VectorPlot f: ℂ->ℝ

ComplexStreamPlot[Zeta[s],{s,-5-5*I,5+5*I},StreamPoints->500,StreamStyle->Thick]

ComplexVectorPlot[RiemannXi[z],{z,-20-20*I, 20+20*I},VectorPoints->30,VectorStyle->Thick]

ComplexContourPlot f: ℂ->ℝ

ComplexContourPlot[Im[Zeta[s]],{s,-3-3 I, 3+3 I},PlotLegends->Automatic,ColorFunction->"BalancedHue",PlotPoints->50]

ComplexContourPlot[Im[RiemannXi[z]],{z,-20-20*I, 20+20*I},PlotLegends->Automatic,ColorFunction->"BalancedHue",PlotPoints->50]

ComplexContourPlot f: ℂ->ℝ

ComplexContourPlot[ReIm[Zeta[s]],{s,-3-3 I, 3+3 I},ContourStyle->{Directive[Hue[0.95,0.5,0.5],Thick],Directive[Hue[0.43,0.5,0.5],Thick]},GridLines->Automatic,PlotPoints->50]

ComplexContourPlot[ReIm[RiemannXi[z]],{z,-20-20*I, 20+20*I},GridLines->Automatic,ContourStyle->{Directive[Hue[0.95,0.5,0.5],Thick],Directive[Hue[0.43,0.5,0.5],Thick]},PlotPoints->50]

ComplexContourPlot[Abs[Zeta[s]],{s,-7+I,3+40*I},Contours->50,ContourStyle->Thick,ScalingFunctions->"Log",ColorFunction->"BalancedHue",PlotPoints->50,Epilog->{PointSize[0.03],Point[Table[{Re[ZetaZero[k]],Im[ZetaZero[k]]},{k,6}]]},GridLines->{{0.5},None},GridLinesStyle->Blue]

ComplexContourPlot[Abs[RiemannXi[z]],{z,-7+I,3+40*I},Contours->50,ContourStyle->Thick,ScalingFunctions->"Log",ColorFunction->"BalancedHue",PlotPoints->50,Epilog->{PointSize[0.03],Point[Table[{Re[ZetaZero[k]],Im[ZetaZero[k]]},{k,6}]]}]

Show[ComplexPlot3D[Zeta[s],{s,-7+I,3+40*I},ScalingFunctions->"Log",ImageSize->600],Graphics3D[{PointSize[0.03],Point[Table[{Re[ZetaZero[k]],Im[ZetaZero[k]],0},{k,6}]]}]]

Show[ComplexPlot3D[RiemannXi[z],{z,-7+I,3+40*I},ScalingFunctions->"Log",ImageSize->600],]

ParametricPlot f: ℂ->ℂ

ParametricPlot[Through[{Re,Im}[Zeta[x+I*y]]], {x,1,Pi}, {y,-Pi,Pi},PlotRange->{{-Pi,Pi},{-Pi,Pi}},PlotStyle->None,PlotPoints->50,MeshStyle->{Directive[Red,Thick],Directive[Blue,Thick]},PlotTheme->"Classic"]

ParametricPlot[Through[{Re,Im}[RiemannXi[x+I*y]]], {x,-2*Pi,2*Pi}, {y,-2*Pi,2*Pi},PlotRange->{{-Pi,Pi},{-Pi,Pi}},PlotStyle->None,PlotPoints->50,MeshStyle->{Directive[Red,Thick],Directive[Blue,Thick]},PlotTheme->"Classic"]

Complex-Valued
Visualization

Nirmal Malapaka
Wolfram Research