Wiem, że sympy w Pythonie może ustawić założenia na zmiennych, takich jak x jest dodatni, ujemny, rzeczywisty, złożony, itp. Zastanawiałem się, czy sympy może ustawić założenia na zmiennych względnych do innych zmiennych. Na przykład, jeśli mam zmienne x i y, mogę ustawić sympy, aby założyć, że x> y w swoich rozwiązaniach. Lub alternatywnie, jeśli mam dwie zmienne, a i B, czy mogę ustawić sympy, aby założyć, że a + 2B < 1? Tego rodzaju założenia prawdopodobnie pomogłyby uprościć skomplikowane rozwiązania do rozwiązywania() i wektorów własnych.Założenia ustawień zmiennych Sympy w stosunku do innych zmiennych
Spojrzałem na wszystkie strony i nie znalazłem informacji dotyczących ustalania tego rodzaju założeń w sympy.
Pytam bo jestem stara się znaleźć wektory własne konkretnej macierzy
a,b = symbols('a,b', nonnegative=False)
M = Matrix([ [1-a-2*b, a, b, b],
[a, 1-a-2*b, b, b],
[b, b, 1-a-2*b, a],
[b, b, a, 1-a-2*b] ])
Sympy wyszukuje eigenvalues poprawnie
M.eigenvals()
który mam MATLAB i potwierdzonych przez WolframAlpha, która wszystko dać takie same wyniki. Jednakże, wektory są bałagan
M.eigenvects()
MATLAB i WolframAlpha oba wektory powrotne [1,1,1,1] [1, 1,1,1], [0,0, -1,1 ] [-1,1,0,0], które są poprawnymi wektorami własnymi. Nie próbowałem nawet upraszczać wyników sympy, ponieważ są one niewiarygodnie długie i złożone. Podejrzeń, że ma to do czynienia z założenia na zmiennych, takich jak określanie, że a + 2b < 1, ale nie jestem pewien.
Witam, wydaje się dużo wiedzieć o systemie założenie. Gdzie mogę uzyskać więcej praktycznych wskazówek na temat aktualnego stanu systemu pod koniec 2016 r. Sympy jest teraz w wersji 1 i wydaje się, że nadal istnieją dwa systemy założeń, ponieważ istnieje moduł założeń i założenia konstruktora symboli Dokumentacja nie wyjaśnia, dlaczego wciąż istnieją dwa systemy lub dają wskazówki wiedzieć, kiedy używać jednego lub drugiego – Shaun
@Shaun, najlepszym miejscem do poproszenia o zaktualizowane instrukcje byłoby sympy listy mailingowej. – Krastanov