現在、次のスニペットがあります。
#!/usr/bin/python
# -*- coding: utf-8 -*-
import numpy
from numpy import linalg
A = [[1,2,47,11],[3,2,8,15],[0,0,3,1],[0,0,8,1]]
S = [[113,49,2,283],[-113,0,3,359],[0,5,0,6],[0,20,0,12]]
A = numpy.matrix(A)
S = numpy.matrix(S)
numpy.set_printoptions(precision=2, suppress=True, linewidth=120)
print("S^{-1} * A * S")
print(linalg.inv(S) * A * S)
次の出力が生成されます。
次のような出力を生成する標準的な方法はありますか? この出力を取得するにはどうすればよいですか?
[[ -1 -0.33 0 0]
[ 0 1 0 0]
[ 0 -648 4 0]
[ 0 6.67 0 5]]
何が違うの?
i
column の最後の文字と columnの最初の文字の間に少なくとも 2 つのスペースi+1
が必要ですが、さらに必要な場合はそれ以上になる可能性があります (NumPy の出力では 2 つのスペースが作成されます)。- ドットが揃っています(ドットは揃っていますが、のフォント設定が
BetterPythonConsole
めちゃくちゃです) - いや
-0
しかし0
- いや
0.
しかし0
edit : gEdits BetterPythonConsoleプラグインで開始される Python コンソールは、ターミナルから開始すると、Python とは異なる処理を行うように見えます。
これは、上記のスクリプトのテキストとしての出力です
moose@pc07:~/Desktop$ python matrixScript.py
S^{-1} * A * S
[[ -1. -0.33 0. -0. ]
[ 0. -1. -0. 0. ]
[ 0. -648. 4. -0. ]
[ 0. 6.67 0. 5. ]]
プリティプリントを使用:
S^{-1} * A * S
matrix([[ -1. , -0.33, 0. , -0. ],
[ 0. , -1. , -0. , 0. ],
[ 0. , -648. , 4. , -0. ],
[ 0. , 6.67, 0. , 5. ]])
これは間違いなく悪いですが、試してみる価値はありました。