Использование SymPy (или другого CAS) с Java

#java #python #jython #sympy #computer-algebra-systems

#java #python #jython #sympy #компьютерная алгебра-системы

Вопрос:

В настоящее время я разрабатываю проект на JavaFX, который принимает математическое выражение и оценивает его. Мне удалось заставить работать базовые операции и большую часть алгебры. Мне также удалось выполнить определенные интегрирования, используя правило трапеции.

Основная проблема, с которой я сталкиваюсь, связана с неопределенной интеграцией. Я искал много библиотек символьных вычислений в Интернете, таких как JCalculus, JavaCalculus, JScience, SymJa и другие. Но ни один из них не был так хорош, как SymPy с точки зрения функциональности. Я хотел знать, есть ли способ отправлять команды в SymPy из Java и получать результат обратно в Java.

Я подумываю о предоставлении установщика для моего приложения JavaFX, который установит Python и SymPy, если это потребуется решением. Я также пытался понять Jython, полагая, что это каким-то образом связано с проблемой, но я не мог понять его назначение и использование.

Пожалуйста, помогите мне. Я неплохо разбираюсь в Java и JavaFX, но мои знания Python крайне низки и ограничены. Пошаговые инструкции и примеры кода чрезвычайно приветствуются.

Заранее спасибо.

Комментарии:

1. Вы сталкиваетесь с проблемами с неопределенной интеграцией, потому что ее сложнее программировать, чем определенные интегралы, намного сложнее.

Ответ №1:

Если вам каким-то образом удастся написать эквивалентный sympy код python из вашего ввода java в файл, вы можете очень легко получить результат этого кода.

 Process p = Runtime.getRuntime().exec("python yourfile.py");
 

Взгляните на это.

Комментарии:

1. Чтобы это сработало, должен ли я установить SymPy и Python на компьютере пользователя, а также потребовать добавления Python в path? И будет ли это работать в Windows? Ваша ссылка дает пример UNIX…