Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2011

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Output complex numbers in polar (exponential) form?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg121186] Re: Output complex numbers in polar (exponential) form?
  • From: Simon <simonjtyler at gmail.com>
  • Date: Sat, 3 Sep 2011 08:04:52 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <j3q0pm$6fh$1@smc.vnet.net>
  • Reply-to: comp.soft-sys.math.mathematica at googlegroups.com

Here's the answer I gave to a similar question (http://stackoverflow.com/q/3928489/421225) on stackoverflow.

If you only need to do it occasionally, then you could just define a function like

ComplexToPolar[z_] /; Element[z, Complexes] := 
 Interpretation[
  Grid[{{Abs[z], Superscript[E, Row[{I, Arg[z]}]]}}, Spacings -> .2], 
  z]

If always want objects with Head Complex, then something like

Unprotect[Complex];
Complex /: MakeBoxes[Complex[a_, b_], StandardForm] := 
 With[{abs = Abs[Complex[a, b]], arg = Arg[Complex[a, b]]}, 
  RowBox[{MakeBoxes[abs, StandardForm], 
    SuperscriptBox["\[ExponentialE]", 
     RowBox[{"\[ImaginaryI]", MakeBoxes[arg, StandardForm]}]]}]]
Protect[Complex];

For complex numbers such as 3 + 4 Pi I, the first option works, but the second doesn't. This is clear from the FullForm.




  • Prev by Date: Pascal's triangle spacing is off. Need DigitCount?
  • Next by Date: Re: Assembling PDFs into a PDF document?
  • Previous by thread: Re: Output complex numbers in polar (exponential) form?
  • Next by thread: Re: Output complex numbers in polar (exponential) form?