- #1
jackmell
- 1,807
- 54
Hi guys,
I seem to still be having problems formatting polynomials in a standard way in Mathematica. I generate them randomly and would like them output using Print in a particular format. Say I have:
theFunction=-2 + w^3 (-9 - 3 z) - 7 z + w^2 (4 + 5 z) + w (8 - 2 z^2) +
w^4 (-5 z^2 - 5 z^3)
I can for example use TraditionalForm to get:
[tex]w^4 \left(-5 z^3-5 z^2\right)+w^3 (-3 z-9)+w^2 (5 z+4)+w \left(8-2 z^2\right)-7 z-2[/tex]
but that's really not the way I want it. I'd like to output it in the form:
[tex](-2-7z)+(8-2z^2)w+(4+5z)w^2+(-9-3z)w^3+(-5z^2-5z^3)w^4[/tex]
with the parenthesis. I've tried CoefficientList to get the coefficients directly and then put the polynomial back together the way I want it but Mathematica changes it and doesn't keep the parenthesis around the w^0 term and will also place the w^n term first in some of the terms. Here's the code I'm using to generate the polynomials:
You guys have any ideas how to change it so that I can Print the output in the form I described above?
Thanks,
Jack
I seem to still be having problems formatting polynomials in a standard way in Mathematica. I generate them randomly and would like them output using Print in a particular format. Say I have:
theFunction=-2 + w^3 (-9 - 3 z) - 7 z + w^2 (4 + 5 z) + w (8 - 2 z^2) +
w^4 (-5 z^2 - 5 z^3)
I can for example use TraditionalForm to get:
[tex]w^4 \left(-5 z^3-5 z^2\right)+w^3 (-3 z-9)+w^2 (5 z+4)+w \left(8-2 z^2\right)-7 z-2[/tex]
but that's really not the way I want it. I'd like to output it in the form:
[tex](-2-7z)+(8-2z^2)w+(4+5z)w^2+(-9-3z)w^3+(-5z^2-5z^3)w^4[/tex]
with the parenthesis. I've tried CoefficientList to get the coefficients directly and then put the polynomial back together the way I want it but Mathematica changes it and doesn't keep the parenthesis around the w^0 term and will also place the w^n term first in some of the terms. Here's the code I'm using to generate the polynomials:
Code:
degree = 5;
bitsize = 5;
thenumber =
IntegerDigits[RandomInteger[{1, 2^(bitsize (degree + 1))}], 2,
bitsize (degree + 1)];
orderTable = Table[0, {degree + 1}];
mylist = Table[
aseq = Take[thenumber, {bitsize (n - 1) + 1, bitsize n}];
atemp = Table[If[aseq[[j]] != 0,
RandomInteger[{-9, 9}] Power[z, j - 1], "A"], {j, 1, bitsize}];
Subscript[a, n - 1] = Plus @@ DeleteCases[atemp, _String]
, {n, 1, degree + 1}];
theFunction = Plus @@ Table[Subscript[a, n] w^n, {n, 0, degree}]
TraditionalForm[theFunction]
You guys have any ideas how to change it so that I can Print the output in the form I described above?
Thanks,
Jack
Last edited: