Pythonを用いて関数を含んだ行列を表示し特異値分解したいです。
Pythonで関数(変数)を含んだ行列を記述してそれを特異値分解したいです。しかし、行列表示をする時点でエラーが出ており先に進めない状態です。
発生している問題・エラーメッセージ
AttributeError: 'Symbol' object has no attribute 'exp' The above exception was the direct cause of the following exception: Traceback (most recent call last): File "test.py", line 11, in <module> A = np.array([[0,(np.exp(x)-np.exp(-x))/(np.exp(x)+np.exp(x))],[(np.exp(x)-np.exp(-x))/(np.exp(x)+np.exp(x)),0]]) TypeError: loop of ufunc does not support argument 0 of type Symbol which has no callable exp method
該当のソースコード
Python
1import numpy as np 2import math 3import scipy as sc 4import sympy as sym 5 6(x,y,z) = sym.symbols(' x y z') 7 8 9 10 11A = np.array([[0,(np.exp(x)-np.exp(-x))/(np.exp(x)+np.exp(x))],[(np.exp(x)-np.exp(-x))/(np.exp(x)+np.exp(x)),0]]) 12print(A) 13 14 15
試したこと
変数xに数値を入れると動くのですが、変数のままだとやはり動きませんでした。
numpy以外にもsympyなどを用いたのですが、うまくいきませんでした。
あなたの回答
tips
プレビュー