1

(I am new to this forum.)

I am interesting in seeing what some equations look like when they are plotted 3-dimentionally, with one axis real numbers, the second axis imaginary numbers (thus the complex plane), and the third axis real numbers. Is such software available either online or free-downloadable?

Thank you.

4 Answers4

2

Wolfram Alpha can make this kind of plots. Here's an example.

Leo
  • 871
  • Thanks, but Wolfram Alpha did not seem to work for me. When I asked it to plot a complex function, it did so in 2D, with two lines representing the imaginary and real parts, rather than in 3D with one line representing both parts. – Tony Detroit Aug 21 '19 at 22:23
  • or just plot z^4, NOTE that I'm using z, not x, this will show complex plane 3D plot – srghma Oct 18 '21 at 13:48
2

Take a peek at matplotlib. It is a Python library, so it works fine with (is included in) Python packages, like SciPy, NumPy, SymPy, SAGE.

gnuplot is a capable graphing program.

maxima has plotting capabilities.

vonbrand
  • 28,394
  • 1
    Thanks for your suggestions. I have not tried the other suggestions yet, but gnuplot only plots real quantities, not complex ones (according to ankother thread in this forum). So it will not do what I need. – Tony Detroit Aug 21 '19 at 23:41
1

For single-valued complex functions of a single complex variable

Most math software (free to use or proprietary) with 3D capabilities will have some form of built-in complex number arithmetic. While commands like plot(z,f(z)) may not work for complex $z$, it is usually possible to plot the real or imaginary parts of a complex-valued function by splitting the input into its real and imaginary components, and inputting <plot / surface>(x,y,real(f(x+iy))) and <plot / surface>(x,y,imag(f(x+iy))), respectively, or equivalent in place of $f(z)$.

In GeoGebra, for example, you can plot the real part of complex function $f$ by using $g(x,y)=\text{real}(f(x+iy))$. The exact syntax for this sort of thing will vary depending on the program you are using, but most programs will have a command to extract the real or imaginary part from a complex number.

Programs for which this works include MatLab, SciLab, Maple, Mathematica, GeoGebra, and anything that is built off of Python.

For multi-valued complex functions of a single complex variable

I've found that multi-valued functions are best realized as parametric surfaces. For a multivalued function $f$, you can start to find a parameterization by taking the inverse of $f$ - in practice, this amounts to writing $f(f^{-1}(z))=z$ (substituting the formula for $f$) and solving for $f^{-1}(z)$. You can then write the parametric surface as $\langle\Re[f^{-1}(u+iv)],\Im[f^{-1}(u+iv)],u\rangle$ for the real part and $\langle\Re[f^{-1}(u+iv)],\Im[f^{-1}(u+iv)],v\rangle$ for th imaginary.

As an example, suppose you want the Riemann surface for $f(z)=\sqrt{z}$. Solving for $f^{-1}$, you get

$f(z)=\sqrt{z}\to z=\sqrt{f^{-1}(z)}\to z^2=f^{-1}(z)$

$f^{-1}(u+iv)=(u+iv)^2=u^2+2uv\cdot i-v^2$

Riemann surface for the real part: $\langle u^2-v^2,2uv,u\rangle$

Programs for which this works include GeoGebra, Mathematica, Maple, and Math3D. While it's still possible in more technically oriented programs (like MatLab and SciLab), it does require a bit of coding to get it to work.

R. Burton
  • 5,230
  • 10
  • 31
0

Mathematica wouldn't be your worst option, but it will cost you a fair bit unless you're a student. You won't find anything as fully featured as Mathematica for free, but there are free alternatives that will at least be able to do what you need them to.

I would google free Mathematica alternatives and pick one that sounds like it will work for you.