Dear Daniel,
are you sure about that measure zero statement? I just ran the following little program:
MCNumber = 10000; Tally[Monitor[Table[
Atemp = RandomReal[]; Btemp = RandomReal[]; Ctemp = RandomReal[];
Dtemp = RandomReal[]; Etemp = RandomReal[];
Sort[Table[
N[Roots[Aa x^4 + Bb x^3 + Cc x^2 + Dd x + Ee ==
0 /. {Aa -> Atemp, Bb -> Btemp, Cc -> Ctemp, Dd -> Dtemp,
Ee -> Etemp}, x]][[i, 2]], {i, 1,
Length[N[
Roots[Aa x^4 + Bb x^3 + Cc x^2 + Dd x + Ee ==
0 /. {Aa -> Atemp, Bb -> Btemp, Cc -> Ctemp, Dd -> Dtemp,
Ee -> Temp}, x]]]}]] ==
Sort[Table[
N[Roots[Aa x^4 + Bb x^3 + Cc x^2 + Dd x + Ee == 0,
x] /. {Aa -> Atemp, Bb -> Btemp, Cc -> Ctemp, Dd -> Dtemp,
Ee -> Etemp}][[i, 2]], {i, 1,
Length[N[
Roots[Aa x^4 + Bb x^3 + Cc x^2 + Dd x + Ee == 0,
x] /. {Aa -> Atemp, Bb -> Btemp, Cc -> Ctemp, Dd -> Dtemp,
Ee -> Etemp}]]}]], {k, 1, MCNumber}],
ProgressIndicator[k, {0, MCNumber}]]]
It generates different parameters and compares the solutions. The results are usually that about 22-23% of times we get it wrong.
{{True, 7734}, {False, 2266}}
Or am I just "lucky" at picking out values of the measure zero region?
Cheers,
Marco
PS: If the parameters are also negative, i.e. the uniform distribution is centred at zero it gets even worse:
MCNumber = 1000; Tally[Monitor[Table[
Atemp = RandomReal[] - 0.5; Btemp = RandomReal[] - 0.5;
Ctemp = RandomReal[] - 0.5; Dtemp = RandomReal[] - 0.5;
Etemp = RandomReal[] - 0.5;
Sort[Table[
N[Roots[Aa x^4 + Bb x^3 + Cc x^2 + Dd x + Ee ==
0 /. {Aa -> Atemp, Bb -> Btemp, Cc -> Ctemp, Dd -> Dtemp,
Ee -> Etemp}, x]][[i, 2]], {i, 1,
Length[N[
Roots[Aa x^4 + Bb x^3 + Cc x^2 + Dd x + Ee ==
0 /. {Aa -> Atemp, Bb -> Btemp, Cc -> Ctemp, Dd -> Dtemp,
Ee -> Temp}, x]]]}]] ==
Sort[Table[
N[Roots[Aa x^4 + Bb x^3 + Cc x^2 + Dd x + Ee == 0,
x] /. {Aa -> Atemp, Bb -> Btemp, Cc -> Ctemp, Dd -> Dtemp,
Ee -> Etemp}][[i, 2]], {i, 1,
Length[N[
Roots[Aa x^4 + Bb x^3 + Cc x^2 + Dd x + Ee == 0,
x] /. {Aa -> Atemp, Bb -> Btemp, Cc -> Ctemp, Dd -> Dtemp,
Ee -> Etemp}]]}]], {k, 1, MCNumber}],
ProgressIndicator[k, {0, MCNumber}]]]
gives about 37% wrong results.
{{True, 626}, {False, 374}}