символьное вычисление

Кто-нибудь знает хороший подход / библиотеки для выполнения алгебраических вычислений на C ++?

У меня есть приложение, разрабатываемое на C ++, которое должно выполнять алгебраические вычисления. На данный момент я создал синтаксический анализатор C ++, который принимает выражения в виде строк типа «5 + (2 - MYFUNC (3))» которые токенизируются в структуры, а затем преобразуются в постфиксную нотацию с использованием алгоритма Shunting Yard и оцениваются.

MYFUNC в этом выражении - это определенные мной функции, которые могут выполнять некоторые сложные вычисления.

Это высокопроизводительное приложение, в выражениях также есть переменные, которые динамически заменяются значениями, а выражение повторно вычисляется

, например, var1 + (2 - MYFUNC (var2)) -> с заменой var1 и var2 на некоторые значения в ходе выполнения и повторной оценки

Я использую Linux и пока нашел библиотеку Giac , но не уверен, что она хороша, любые отзывы приветствуются.

Как люди обычно подходят к этой проблеме? Основным языком в данном случае является C ++.

9
задан Maksim Kneller 28 December 2010 в 06:12
поделиться