On Fri, Oct 28, 2011 at 5:19 PM, Bill Gosper <billgosper@gmail.com> wrote:
On Fri, Oct 28, 2011 at 3:22 PM, Bill Gosper <billgosper@gmail.com> wrote:
Since the solutions usually seem to have a lot of repetitions, how about introducing some intermediate symbols?
The cubic solution is often expressed as a program, i.e. "Let Y be a solution of the quadratic Y^2+... = 0, then X = -B/3A + cbrt(...Y...) + ... ".
This is also a good way to get consistency in choosing the Kth roots: The regular cubic formula involves two cube roots, with nominally 9 possible answers for X. Typically, the verbal condition is added that the product of the cube roots must be xxx, which eliminates 6 of the possible combinations. But you can also say Z = cbrt(...), and write the final answer as X = ... + Z/3A + (...)/3AZ
Rich
Right. Apparently, all solvable
IRREDUCIBLE
sextics are either cubics with quadratic surd coefficients, or vice versa. Unfortunately, Root reverts these forms to sextics. --rwg
OOPS, that's a bug in Ssexy--I need to ship it with the quintic solver! --rwg
[...]
I found a fairly neat way to graft the quintic and sextic solvers onto Solve using the Repeated pattern mechanism, e.g., PolySolve6[xp_] := quinticroot[sexyroot[Solve[0 == (xp /. Equal -> Subtract)]]] quinticroot[xp_] := xp /. Block[{r}, {s___, Repeated[{x_ -> Root[y_, __]}, {5}], t___} :> {s, Sequence @@ ({x -> #} & /@ r), t} /; ! Or[(r = Squint[y@x]) == {}, InexactNumberQ[r[[1]]]]] sexyroot[xp_] := xp /. {s___, Repeated[{x_ -> Root[y_, __]}, {6}], t___} :> {s, Sequence @@ Ssexy[y@x], t} So PolySolve6 of a reducible sextic never triggers the sextic solver. Then Julian reconstructed the septic solver from the quintic solver, firmly convinced that it is incomplete. However, it works on special cases of b + 7 a^3 x + 14 a^2 x^3 + 7 a x^5 + x^7 and -4 - 6 x - 5 x^2 - a x^2 - a x^3 - x^4 + a x^4 + x^5 + a x^5 - 2 x^6 + x^7 from the Wikipedia septics article<http://en.wikipedia.org/wiki/Septic_equation>(spending sometimes half an hour on the sextic subproblem!), and on Tito's Timing[LeafCount[PolySolve[ 8903 + 47647 v + 39672 v^2 + 7192 v^3 - 522 v^4 - 174 v^5 + v^7]]] Out[15]= {147.35, 48758} where PolySolve[xp_] := quinticroot[ sexyroot[septicroot[Solve[0 == (xp /. Equal -> Subtract)]]]] septicroot[xp_] := xp /. Block[{r}, {s___, Repeated[{x_ -> Root[y_, __]}, {7}], t___} :> {s, Sequence @@ ({x -> #} & /@ r), t}/; !Or[(r = SSeptic[y@x]) == {}, InexactNumberQ[r[[1]]]]] So we're still looking for a solvable septic immune to SSeptic, (which just uses that InverseFourier trick to make a sextic). Let me know if you want a PolySolve to play with, but note the quintic and septic solvers still lack adaptive numerical precision, and the septic solver often takes huge times to return huge answers (due to the explosiveness of the sextic solver, as illustrated by the "six dimes ..." problem). --rwg WFL>For isosceles triangles T with apical angle inceeding pi/3 [...]
any point along the base serves as centre p.
Alas, another fine mathematician seduced by the bottom line.