Sepertinya persamaan yang Anda hadapi semuanya polinomial setelah kliring penyebut. Itu hal yang baik (fungsi transendental seringkali sedikit lebih sulit untuk ditangani secara aljabar). Namun, itu bukan jaminan bahwa persamaan Anda memiliki solusi bentuk tertutup. Ini adalah poin penting yang banyak orang tidak benar-benar "dapatkan", bahkan jika mereka mengetahuinya secara teori, jadi itu menyatakan kembali: ada sistem persamaan polinomial yang cukup sederhana yang tidak ada cara untuk memberikan solusi dalam hal ( th) root dll. Contoh terkenal (dalam satu variabel) adalah x 5 - x + 1 = 0 . Lihat juga halaman wikipedia ini .nx5- x + 1 = 0
Karena itu, tentu saja ada juga sistem persamaan yang dapat diselesaikan, dan ada baiknya untuk memeriksa apakah sistem Anda adalah salah satunya. Dan bahkan jika sistem Anda tidak dapat dipecahkan, masih mungkin untuk menemukan bentuk untuk sistem persamaan Anda yang lebih sederhana, dalam beberapa hal. Misalnya, temukan satu persamaan yang hanya melibatkan variabel pertama (bahkan jika tidak dapat diselesaikan secara aljabar), maka persamaan kedua hanya melibatkan variabel pertama dan kedua, dll. Ada beberapa teori yang bersaing untuk bagaimana menemukan "bentuk normal" tersebut. sistem polinomial; yang paling terkenal adalah teori dasar Groebner, dan yang bersaing adalah teori rantai reguler.
Dalam sistem komputer aljabar Maple (pengungkapan penuh: Saya bekerja untuk mereka) keduanya diimplementasikan. The solve
perintah biasanya menyebut Groebner dasar metode, saya percaya, dan yang dengan cepat grinds berhenti di laptop saya. Saya mencoba menjalankan perhitungan rantai biasa dan butuh waktu lebih lama daripada yang saya sabar tetapi tampaknya tidak meledak karena ingatannya buruk. Jika Anda tertarik, halaman bantuan untuk perintah yang saya gunakan ada di sini , dan ini adalah kode yang saya gunakan:
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);