Both matlab's solve() function and Python's sympy library can solve the closed solution of equations. I want to know what algorithm they use. Is there a general way to solve the closed solution of equations? Or is the program only able to try to get a closed solution through experience?
for example, $solve(a^x = x,a)$ should be $a=x^{\frac{1}{x}}$, and it can be fairly complex when the number of equations is greater than 1.
I actually try to implement these algorithms, so I need to know how they work.
Some keywords or relevant papers is enough, thanks!
I don't know which algorithms are implemented in the computer algebra systems.
An important part of the solution algorithms is algebraic simplification.
You could use the reporting commands of the software.
You could look in the computer algebra literature.
Polynomial equations can be solved in closed form with help of Galois theory.
For solving equations in closed form, one can use the following principle: The inverse relation of a function composition is the composition of the inverse relations of the members of the composition in opposite order.
Systems of polynomial equations can be solved in closed form by Buchberger's algorithm.
Buchberger's algorithm is a kind of Knuth-Bendix completion algorithm.
And then there are solution methods in terms of Special functions, e.g. Gamma function, hypergeometric functions or Lambert W.
Nowadays, deciding the solvability by elementary numbers is probably not yet implemented. see e.g. [Chow 1999]