I spent a couple of minutes googleing and found various command that would plot complex functions:

```
f = sqrt(x) + 1 / x
complex_plot(sqrt, (-5,5), (-5, 5))
```

This gives the following plot:

This was however not what my student was asking. They wanted to know how to plot a given set of points in the complex plain (referred to as the Argand plane). A quick google to check if there was anything in Sage pre built for this brought me to this published sheet by +Jason Grout.

I tweaked it slightly so that it was in line with the commands my students have learnt so far and also to include axes legends and put the following in to a function:

```
def complex_point_plot(pts):
```

` """ `

` A function that returns a plot of a list of complex points. `

` Arguments: pts (a list of complex numbers) `

` Outputs: A list plot of the imaginary numbers `

` """ `

```
return list_plot([(real(i), imag(i)) for i in pts], axes_labels = ['Re($z$)', 'Im($z$)'], size=30)
```

This function simply returns a plot as required. Here is a small test with the output:

```
complex_point_plot([3*I, e^(I*pi), e^(I*3*pi/4), 4-4*I])
```

Here is some code that will plot the unit circle using the $z=e^{i\theta}$ notation for complex numbers (and the Sage srange command):

`pts = [e^(I*(theta)) for theta in srange(0, 2*pi, .1)] `

`complex_point_plot(pts) `

Here is the output:

I published all this in a worksheet on our server so it's now immediately available to all our students. I'm really enjoying teaching +Sage Mathematical Software System to our students.

A Sage cell with the above code (that you can run in your browser) can be found here: http://goo.gl/jipzxV

EDIT: Since posting this +Punarbasu Purkayastha pointed out on G+ that list_plot can handle complex points right out of the box :) So the above can just be obtained by typing:

pts = [e^(I*(theta)) for theta in srange(0, 2*pi, .1)]

list_plot(pts, axes_labels=['Re($z$)','Im($z$)'], size=30)

Learn something new everyday...

## No comments:

## Post a Comment