You can use ToRules to convert the output to a list of rules.
From the documentation:
ToRules takes logical combinations of equations, in the form generated by Roots and Reduce, and converts them to lists of rules, of the form produced by Solve.
Example:
roots = Roots[x^2 + 1 == 0, x]
(* x == I || x == -I *)
ToRules[roots]
(* Sequence[{x -> I}, {x -> -I}] *)
x /. {ToRules[roots]}
(* {I, -I} *)
Now you have a simple list of rules to work with.
Note that extracting part of the output using functions such as Part, Level, etc. is not reliable. What if you have a single root? You'd need to have a special case for that. ToRules always works and it's simpler.
Solve[]rather thanRoots[]? Max[x /. Solve[x^2 + 15 x + 13 == 0, x]] – David G. Stork Jan 21 '15 at 17:57Solveis that it gives aListof possible solutions, so you can easily find theMax,Min,Total,Length(number of roots) or whatever. Please give a specific example (code) so we can better help you. – David G. Stork Jan 21 '15 at 18:09Rootsonly works with polynomials. TrySolve[Sin[x]==0,x]vsRoots[Sin[x]==0,x]. In earlier versions of MathematicaSolvewould only have returned0which is only one solution out of many and you would have had to useReduce[Sin[x]==0, x]to get all of them. – Szabolcs Jan 21 '15 at 18:34