root-finding
Znajdź pierwiastki równań numerycznych – wybierz metodę do swojego problemu
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Skill do rozwiązywania problemów poszukiwania pierwiastków w metodach numerycznych. Zawiera strategię decyzyjną, która pomaga wybrać odpowiednią metodę: bisection, Brent, Newton-Raphson czy secant method w zależności od charakteru problemu. Obsługuje równania pojedyncze i systemy równań, z weryfikacją rozwiązań. Integruje się z scipy.optimize i sympy do obliczeń symbolicznych.
Jak używać
Scharakteryzuj swój problem: czy szukasz jednego pierwiastka czy wielu, czy znasz przedział zawierający pierwiastek, czy masz dostęp do pochodnej funkcji.
Wybierz metodę na podstawie decyzji z kroku 1. Jeśli pierwiastek jest w znanym przedziale i nie masz pochodnej, użyj Brenta. Jeśli masz pochodną, wybierz Newton-Raphson. Dla systemów równań zastosuj fsolve.
Dla pojedynczego pierwiastka w przedziale [a, b] uruchom metodę Brenta: uv run python -c "from scipy.optimize import brentq; root = brentq(lambda x: x**2 - 2, 0, 2); print('Root:', root)"
Jeśli dysponujesz pochodną funkcji, użyj Newton-Raphson z punktem startowym x0: uv run python -c "from scipy.optimize import newton; root = newton(lambda x: x*2 - 2, 1.0, fprime=lambda x: 2x); print('Root:', root)"
Dla wielu pierwiastków spróbuj różnych punktów startowych lub użyj sympy do rozwiązania symbolicznego: uv run python -m runtime.harness scripts/sympy_compute.py solve "x**3 - x - 1" --var x
Zweryfikuj wynik: sprawdź, czy wartość funkcji w znalezionym pierwiastku jest bliska zeru i czy pierwiastek leży w oczekiwanym obszarze.