Skip to content

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

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).