Kết hợp numpy.outer(), ones() và linspace() tạo lưới số phức cho tập Mandelbrot.
Ví dụ
import numpy as np
# Phần thực: outer(ones(5), linspace(-2, 2, 5))
rl = np.outer(np.ones(5), np.linspace(-2, 2, 5))
print("Phần thực:")
print(rl)
# Phần ảo: outer(1j*linspace(2,-2,5), ones(5))
im = np.outer(1j * np.linspace(2, -2, 5), np.ones(5))
print("\nPhần ảo:")
print(im)
# Lưới số phức
grid = rl + im
print("\nLưới số phức:")
print(grid)
Kết quả
Phần thực:
[[-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.]]
Phần ảo:
[[ 0.+2.j 0.+2.j 0.+2.j 0.+2.j 0.+2.j]
[ 0.+1.j 0.+1.j 0.+1.j 0.+1.j 0.+1.j]
[ 0.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j]
[ 0.-1.j 0.-1.j 0.-1.j 0.-1.j 0.-1.j]
[ 0.-2.j 0.-2.j 0.-2.j 0.-2.j 0.-2.j]]
Lưới số phức:
[[-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]]
Lưới 5x5 bao phủ vùng [-2,2]×[-2,2] trên mặt phẳng phức, dùng cho visualization tập Mandelbrot.