開発環境
- macOS Sierra - Apple (OS)
- Emacs (Text Editor)
- Python 3.6 (プログラミング言語)
行列プログラマー(Philip N. Klein (著)、 松田 晃一 (翻訳)、 弓林 司 (翻訳)、 脇本 佑紀 (翻訳)、 中田 洋 (翻訳)、 齋藤 大吾 (翻訳)、オライリージャパン)の1章(体)、1.7(問題)、複素数の変換の合成、問題1.7.12を取り組んでみる。
問題1.7.12
コード(Emacs)
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import math import pprint def transform(a, b, l): return [a * z + b for z in l] l = [0, 1, 1j, 1 + 1j, 5 + 10j] # a. # (z + 1+1j) * 2 * math.e ** (math.pi / 2 * 1j) # = 2 * math.e ** (math.pi / 2 * 1j) * z + # (1 + 1j) * 2 * math.e ** (math.pi / 2 * 1j) a = 2 * math.e ** (math.pi / 2 * 1j) b = (1 + 1j) * 2 * math.e ** (math.pi / 2 * 1j) pprint.pprint(transform(a, b, l)) # b. # (2 * z.real + 3 * z.imag) * math.e ** (1j * (- math.pi / 4)) - 2j - 3 # 存在しない
入出力結果(Terminal, IPython)
$ ./sample7_12.py [(-1.9999999999999998+2j), (-1.9999999999999996+4j), (-4+2j), (-3.9999999999999996+4j), (-22+12.000000000000002j)] $
0 コメント:
コメントを投稿