Как вычислить базу Гребнера системы уравнений в Matlab - PullRequest
1 голос
/ 18 марта 2012

Я пытаюсь проверить, что система уравнений имеет непустое множество решений в Matlab. Я знаю, что это можно сделать путем вычисления базы Гребнера, и если она равна единице, то в системе есть пустой набор решений. Могу ли я сделать это в Matlab и как?

1 Ответ

2 голосов
/ 18 марта 2012

Вы должны построить вектор с множеством полиномов. Это должна быть строка вида

 f1 , f2, ..., fn 

, где f1, f2, ..., fn - полиномы, например, f1=x^2-1, f2=y*x^3-x-2. Это ДОЛЖНА быть строка. Вы можете построить его из массива ячеек полиномов, например, polyCell={f1, f2, ..., fn} с

polyRing = strcat(polyCell{:});
polyRing(end)=[];

Затем вам следует вызвать соответствующую функцию в Mupad с помощью

groebnerBasis=evalin(symengine,['groebner::gbasis([' polyRing '])']);

или для оценки в лексикографическом порядке:

groebnerBasis=evalin(symengine,['groebner::gbasis([' polyRing '],LexOrder)']);

Вот и все. Вы также можете использовать Mupad напрямую, но я позволю вам проверить документацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...