저는 quaternion lib 인 qmath를 사용하려고합니다.qmath 매우 이상합니다. AttributeError
이
from qmath import qmathcore
a = qmathcore.quaternion([1,2,3,4])
print a.conj()
이 작동해야한다는 것을 나에게
Traceback (most recent call last):
File "*******/q_test.py", line 25, in <module>
print str(a.conj())
File "*******/venv/lib/python2.7/site-packages/qmath/qmathcore.py", line 788, in conj
return self.real() - self.imag()
File "*******/venv/lib/python2.7/site-packages/qmath/qmathcore.py", line 762, in imag
return self - self.real()
File "*******/venv/lib/python2.7/site-packages/qmath/qmathcore.py", line 522, in __sub__
self -= other
File "*******/venv/lib/python2.7/site-packages/qmath/qmathcore.py", line 407, in __isub__
self.other = quaternion(other)
File "*******/venv/lib/python2.7/site-packages/qmath/qmathcore.py", line 81, in __init__
self.q = q.q
AttributeError: quaternion instance has no attribute 'q'
그러나 그들은 말했다 문서에서 같은 역 추적
을 제공 :이 무엇def conj(self):
"""
Returns the conjugate of the quaternion
>>> import qmathcore
>>> a = qmathcore.quaternion([1,2,3,4])
>>> a.conj()
(1.0-2.0i-3.0j-4.0k)
>>> a = qmathcore.hurwitz([1,2,3,4])
>>> a.conj()
(1-2i-3j-4k)
"""
return self.real() - self.imag()
입니까?
사람들은 좋은 quaternion python lib를 알고 있습니까? 나는'qmath' (질문 참조),'Quaternion' (정규화되지 않은 Q에서는 작동하지 않음),'euclid'를 사용했지만, Qs와 벡터를 곱할 수는 없지만'quaternionarray'는 심지어 수입. 이거 슬프네. – akaRem
이'qmath.quaternion (np.float64 (1))'도 같은 오류를 발생시킵니다. 'qmath.quaternion (np.float (1))'은 잘 동작합니다. 나는'qmath '가 쓰여진 지 2 년 만에'numpy'의 변화를 의심합니다. – hpaulj