Доступно
Symbolic equation solver.
`Solve` is reliable on polynomial and rational equations. Equations mixing a variable with its own exponential or logarithm are where it goes wrong, and it goes wrong quietly - the answer has the shape of a solution set and is simply not one: ```wolfram Solve[x + E^x == 1, x] (* {{x -> 1}}, but 1 + E^1 - 1 is E, not 0 *) (x + E^x - 1) /. x -> 0 (* 0 - the actual solution, which is not returned *) Solve[I^w == w, w] (* {{w -> 0}}, though I^0 is 1 *) ``` Both failure directions are present: a returned value that solves nothing, and a real solution missing from the set. Nothing in the result distinguishes either case from a correct answer. Check every solution before relying on it, by substituting into the residual rather than into the equation (see `Equal` for why the `==` form is not trustworthy here): ```wolfram sol = Solve[x^2 == x + 1, x]; Simplify[(x^2 - (x + 1)) /. sol] (* {0, 0} - both solutions hold *) ``` A non-zero residual means the value is not a solution. A residual that will not simplify to anything definite means the check was inconclusive, not that the answer is wrong. When `Solve` returns nothing usable for a transcendental equation, `FindRoot` from a starting point is the reliable route to a numeric root.
Независимо проверяемо: ответ этой функции заново выводится другим путём и сравнивается - рабочая среда и инструмент verify делают это автоматически, так что неверный ответ выявляется, а не принимается на веру. История →