Quartics¶
Status: Experimental
present and registered, but lightly documented and not yet covered by dedicated tests.
Description¶
Quartics is an option for Solve that controls whether quartic equations are solved via explicit radical formulas (Quartics -> True) or returned as held Root[] objects (default Quartics -> False).
Examples (5)¶
Every input below was run against the current Mathilda build and its output recorded.
Applications (5)¶
In[1]:= Solve[x^4 + x + 1 == 0, x]
Out[1]= {{x -> Root[1 + #1 + #1^4 &, 1]}, {x -> Root[1 + #1 + #1^4 &, 2]}, {x -> Root[1 + #1 + #1^4 &, 3]}, {x -> Root[1 + #1 + #1^4 &, 4]}}
In[2]:= Quartics
Out[2]= Quartics
In[3]:= Solve[x^4 - 5 x^2 + 6 == 0, x]
Out[3]= {{x -> -Sqrt[2]}, {x -> Sqrt[2]}, {x -> -Sqrt[3]}, {x -> Sqrt[3]}}
In[4]:= Solve[x^4 - 2 == 0, x]
Out[4]= {{x -> -2^(1/4)}, {x -> 2^(1/4)}, {x -> -I 2^(1/4)}, {x -> I 2^(1/4)}}
In[5]:= Solve[x^4 - 10 x^2 + 1 == 0, x]
Out[5]= {{x -> -Sqrt[1/2 (10 - 4 Sqrt[6])]}, {x -> Sqrt[1/2 (10 - 4 Sqrt[6])]}, {x -> -Sqrt[1/2 (10 + 4 Sqrt[6])]}, {x -> Sqrt[1/2 (10 + 4 Sqrt[6])]}}
Implementation notes¶
Quartics is not a builtin function ā it is an option symbol for Solve, registered (with its docstring) in solve_init. It is recognised by is_known_option_name and consumed in apply_option, which sets opts.poly.quartics_radical = (rhs === True). With the default Quartics -> False, quartic equations are returned as held Root[] objects; Quartics -> True requests explicit radical (Ferrari) formulas from the polynomial specialist (src/poly/solvepoly.c). The same option is forwarded by Eigenvalues/Eigensystem (src/linalg/) so the characteristic-polynomial roots can likewise be returned as radicals or held Root[]s.
Attributes: none registered.
References¶
See also: Solve
- Source:
src/solve/solve.c - Specification:
docs/spec/builtins/solutions-of-equations.md
Notes & additional examples¶
Notes¶
Quartics is a Solve option (the quartic analogue of Cubics), not a
function; evaluating the bare symbol just returns itself. With the default
Quartics -> False, an irreducible quartic is returned as held Root[]
objects as above; Quartics -> True requests explicit radical formulas where
they apply (biquadratic and other special quartics still reduce automatically).