Существуют ли матричные математические модули, совместимые с Python 3.x? - PullRequest
2 голосов
/ 14 декабря 2009

Когда я начинал этот проект, я думал, что будет легко получить библиотеки для обычных вещей, таких как матричная математика, поэтому я решил работать в Python 3.1 - это самая последняя, ​​обновленная версия языка. К сожалению, NumPy совместим только с 2.5 и 2.6 и кажется единственной игрой в городе! Даже другие вещи, которые я обнаружил, например, игровые объекты, похоже, основаны на NumPy и поэтому несовместимы с 3.x.

Кто-нибудь знает о матричной библиотеке, которая совместима с 3? Мне нужно уметь делать следующее: матричное сложение, вычитание, умножение, скалярное умножение, обратное, транспонирование и определитель. Я искал весь день, и все дороги, кажется, ведут к NumPy. Я даже попробовал этот модуль: http://www.nightmare.com/squirl/python-ext/misc/matrix.py но это тоже для 2.x. Даже после преобразования его с помощью инструмента 2to3 я не могу получить модуль пряжи, на который он ссылается (и, вероятно, сам 2.x).

Любая помощь очень ценится.

Ответы [ 2 ]

5 голосов
/ 14 декабря 2009

Учитывая, что значительная часть тех, кто заинтересован в подобном развитии, участвует в NumPy, и учитывая их график миграции Я думаю, что ответ "нет, пока ничего нет".

Я бы посоветовал рассматривать Python 3.x как «все еще экспериментальный» и вместо этого начать с Python 2.6. Приложите небольшое усилие, чтобы написать свой код таким образом, чтобы его было не сложно перенести, скажем, через год или два, когда серия Python 3.x действительно стабилизируется, но пока не прыгайте туда , Другие более общие вопросы есть ответы, которые могут помочь вам решить.

1 голос
/ 14 декабря 2009

РЕДАКТИРОВАТЬ: PyEuclid поддерживает матрицы, векторы до 4 измерений и предназначен для геометрических операций.

В противном случае ответ, вероятно, не тот, который вы хотите, но:

  • используйте вместо этого python 2.x, используйте numpy (что действительно хорошо), пока numpy не поддержит python 3.x
  • реализуйте свой собственный класс Matrix, поскольку вам не нужно слишком много функциональности, и это хорошее упражнение для реализации. Должно быть меньше работы, чем искать день в интернете.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...