Paydaları temizledikten sonra uğraştığınız denklemlerin hepsi polinom gibi görünüyor. Bu iyi bir şey (transandantal fonksiyonlar genellikle cebirsel olarak uğraşmak için biraz daha zordur). Ancak, denklemlerinizin kapalı biçimli bir çözümü olduğu garanti değildir. Bu, teorik olarak biliyor olsalar bile, birçok insanın gerçekten "alamadığı" önemli bir noktadır, bu yüzden yeniden düzenlemeyi gerektirir: açısından basit bir polinom denklem sistemleri vardır. (nth) kökler vb. Ünlü bir örnek (bir değişkente) x5−x+1=0. Ayrıca bu wikipedia sayfasına bakınız .
Tabii ki , çözülebilecek denklem sistemleri de var ve sisteminizin bunlardan biri olup olmadığını kontrol etmek faydalı olacaktır. Sisteminiz çözülemese bile, denklem sisteminiz için bir anlamda daha basit bir form bulmak yine de mümkün olabilir. Örneğin, sadece ilk değişkeni içeren (bir cebirsel olarak çözülemese bile), sonra yalnızca birinci ve ikinci değişkeni, vb. İçeren ikinci bir denklem bulun. polinom sistemlerinin; en iyi bilinen Groebner temel teorisidir ve rakip olan düzenli zincirlerin teorisidir.
Bilgisayar cebir sisteminde Maple (tam açıklama: onlar için çalışıyorum) her ikisi de uygulanır. solve
Komut genellikle inanıyorum Groebner temeli yöntemini çağırır ve bu hızla benim laptop durma noktasına biler. Düzenli zincir hesaplamasını çalıştırmayı denedim ve sabrımdan daha uzun sürüyor, ancak bellek açısından kötü görünmüyor. İlgileniyorsanız, kullandığım komutun yardım sayfası burada ve kullandığım kod:
restart;
sys, vars := {theta*H - rho_p*sigma_p*
Cp*(Us/N) - rho_d*sigma_d*D*(Us/N)*rho_a*sigma_a*
Ca*(Us/N) = 0,
rho_p*sigma_p*Cp*(Us/N) + rho_d*sigma_d*
D*(Us/N)*rho_a*sigma_a*Ca*(Us/N) + theta*H = 0,
(1/omega)*Ua - alpha*Up - rho_p*psi_p*
Up*(H/N) - Mu_p*sigma_p*Up*(Cp/N) -
Mu_a*sigma_a*Up*(Ca/N) - Theta_p*
Up + Nu_up*(Theta_*M + Zeta_*D) = 0,
alpha*Up - (1/omega)*Ua - rho_a*psi_a*
Ua*(H/N) - Mu_p*sigma_p*Ua*(Cp/N) -
Mu_a*sigma_a*Ua*(Ca/N) - Theta_a*
Ua + Nu_ua*(Theta_*M + Zeta_*D) = 0,
(1/omega)*Ca + Gamma_*Phi_*D + rho_p*psi_p*
Up*(H/N) + Mu_p*sigma_p*Up*(Cp/N) +
Mu_a*sigma_a*Up*(Ca/N) - alpha*Cp - Kappa_*
Cp - Theta_p*Cp + Nu_cp*(Theta_*M + Zeta_*D) = 0,
alpha*Cp + Gamma_*(1 - Phi_)*D + rho_a*psi_a*
Ua*(H/N) + Mu_p*sigma_p*Ua*(Cp/N) +
Mu_a*sigma_a*Ua*(Ca/N) - (1/omega)*
Ca - Kappa_*Tau_*Ca - Theta_a*Ca +
Nu_ca*(Theta_*M + Zeta_*D) =
0, Kappa_*Cp + Kappa_*Tau_*Ca - Gamma_*Phi_*
D - Gamma_*(1 - Phi_)*D -
Zeta_*D + Nu_d*(Theta_*M + Zeta_*D) = 0,
Us + H + Up + Ua + Cp + Ca + D = 0,
Up + Ua + Cp + Ca + D = 0}, {Us, H, Up, Ua, Cp, Ca, D, N,
M}:
sys := subs(D = DD, sys):
vars := subs(D = DD, vars):
params := indets(sys, name) minus vars:
ineqs := [theta > 0 , rho_p > 0 , sigma_p >
0 , rho_d > 0 , sigma_d > 0 ,
rho_a > 0 , sigma_a > 0 ,
omega > 0 , alpha > 0 , psi_p > 0 , Mu_p > 0 ,
Mu_a > 0 , Theta_p > 0 , Nu_up > 0 , Theta_ >
0 , Zeta_ > 0 , psi_a > 0 ,
Theta_a > 0 , Nu_ua > 0 , Gamma_ > 0 , Phi_ >
0 , Kappa_ > 0 , Nu_cp > 0 ,
Tau_ > 0 , Nu_ca > 0]:
with(RegularChains):
R := PolynomialRing([vars[], params[]]):
sys2 := map(numer, map(lhs - rhs, normal([sys[]]))):
sol := LazyRealTriangularize(sys2,[],map(rhs, ineqs),[],R);