Re: Reverse order terms and 0-origin array.

• To: mathgroup at christensen.cybernetics.net
• To: mathgroup at christensen.cybernetics.net
• Subject: [mg1686] Re: [mg1601] Reverse order terms and 0-origin array.
• From: Bob Hanlon <hanlonbo at sgate.com>
• Date: Mon, 17 Jul 1995 01:14:20 -0400

```Following is a brute force method of outputing a polynomial in standard
form.  It hasn't been thoroughly tested but should offer a starting point.

Bob Hanlon
_______________

stdPoly::usage = "stdPoly[poly, var] prints a polynomial in
standard form.";

stdPoly[poly_, var_] :=
Module[{coef = CoefficientList[poly, var], pwrs, elem},
pwrs = NestList[Times[#, var]&, 1, Length[coef]-1];
elem = Flatten[
If[ MatchQ[#, Times[a_?Negative, x__]] ||
(NumberQ[#] && Negative[#]),
{" - ", -#}, {" + ", #} ]& /@
( Select[coef pwrs, # =!= 0&] // Reverse )];
elem = If[elem[[1]] == " + ",
Rest[elem], Join[{"- "}, Rest[elem]]];
Print[Sequence @@ elem] ];

p1[x_] := a x^4 + b x^2 + c;  p2[x_] := -a x^2 + b x + c;
p3[x_] := a x^4 - b x^2 + c;  p4[x_] := a x^2 + b x - c;

stdPoly[p1[x], x]; Print[""]; stdPoly[p2[x], x]; Print[""];
stdPoly[p3[x], x]; Print[""]; stdPoly[p4[x], x]; Print[""];
stdPoly[-7 x^5 + 6.3 x^4 - 28 x^3 - 6, x];

4      2
a x  + b x  + c

2
- a x  + b x + c

4      2
a x  - b x  + c

2
a x  + b x - c

5        4       3
- 7 x  + 6.3 x  - 28 x  - 6

>  From: Richard Mercer <richard at seuss.math.wright.edu>
>  Newsgroups: comp.soft-sys.math.mathematica
>  Subject: Re: [mg1601] Reverse order terms and 0-origin array.
>  Date: 7 Jul 1995 01:18:06 GMT
>
>  >  1) When I type Expand[(x+1)^2], Mathematica returns 1 +
>  >  2x + x^2.  Can receive the result in the reverse order,
>  >  i.e., x^2 + 2x + 1 ?
>
>  Although I have made Mathematica jump through many hoops in 5 years of
>  programming, the most frustrating failure has been my inability to
provide the
>  option to have polynomials print out in traditional order. I know in
principle
>  how it apparently could be done, but as I have not yet been able to
make it
>  work there is no point in providing any details.
>
>  The default sorting in Mathematica is difficult to turn off without side
>  effects because it is so closely linked with the aggressive evaluation
scheme.
>  Oh sure you can try
>  Unprotect[Plus]
>  ClearAttributes[Plus,Orderless]
>  but that is begging for trouble and I promise you many undesirable side
>  effects.
>
>  I have tried to establish a custom format for printing polynomials, but
>  whenever I sort the polynomial my way, somehow Mathematica always
manages to
>  resort it in the default order before it appears as output. Very
frustrating,
>  even by Mathematica standards! I haven't given up and someday will take
>  another crack at it.
>
>  Richard Mercer

```

• Prev by Date: Simple problem for math wiz
• Next by Date: Re: Factorize parts of sums?
• Previous by thread: Re: Reverse order terms and 0-origin array.
• Next by thread: Re: Reverse order terms and 0-origin array.