
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Make a Grid for Computing a Mandelbrot Set with Outer Product in Python
Given two vectors, a = [a0, a1, ..., aM] and b = [b0, b1, ..., bN], the outer product [1] is −
[[a0*b0 a0*b1 ... a0*bN ] [a1*b0 . [ ... . [aM*b0 aM*bN ]]
To get the Outer product of two arrays, use the numpy.outer() method in Python. The numpy.ones() return a new array of given shape and type, filled with ones. The numpy.linspace() returns evenly spaced numbers over a specified interval.
Steps
At first, import the required libraries −
import numpy as np
The real part −
rl = np.outer(np.ones((5,)), np.linspace(-2, 2, 5)) print("The real part of the complex number...\n",rl)
The imaginary part −
im = np.outer(1j*np.linspace(2, -2, 5), np.ones((5,))) print("\nThe imaginary part of the complex numbers...\n",rl)
Forming a grid −
grid = rl + im
Example
import numpy as np # To get the Outer product of two arrays, use the numpy.outer() method in Python # The numpy.ones() return a new array of given shape and type, filled with ones. # The numpy.linspace() returns evenly spaced numbers over a specified interval. # The real part rl = np.outer(np.ones((5,)), np.linspace(-2, 2, 5)) print("The real part of the complex number...\n",rl) # The imaginary part im = np.outer(1j*np.linspace(2, -2, 5), np.ones((5,))) print("\nThe imaginary part of the complex numbers...\n",rl) # Forming a grid grid = rl + im print("\nDisplaying the grid...\n",grid)
Output
The real part of the complex number... [[-2. -1. 0. 1. 2.] [-2. -1. 0. 1. 2.] [-2. -1. 0. 1. 2.] [-2. -1. 0. 1. 2.] [-2. -1. 0. 1. 2.]] The imaginary part of the complex numbers... [[-2. -1. 0. 1. 2.] [-2. -1. 0. 1. 2.] [-2. -1. 0. 1. 2.] [-2. -1. 0. 1. 2.] [-2. -1. 0. 1. 2.]] Displaying the grid... [[-2.+2.j -1.+2.j 0.+2.j 1.+2.j 2.+2.j] [-2.+1.j -1.+1.j 0.+1.j 1.+1.j 2.+1.j] [-2.+0.j -1.+0.j 0.+0.j 1.+0.j 2.+0.j] [-2.-1.j -1.-1.j 0.-1.j 1.-1.j 2.-1.j] [-2.-2.j -1.-2.j 0.-2.j 1.-2.j 2.-2.j]]
Advertisements