MathGroup Archive 2012

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

Search the Archive

Re: Sqrt of complex number

  • To: mathgroup at
  • Subject: [mg126667] Re: Sqrt of complex number
  • From: Andrzej Kozlowski <akozlowski at>
  • Date: Wed, 30 May 2012 04:09:01 -0400 (EDT)
  • Delivered-to:
  • References: <jpspgr$hdj$> <>

On 29 May 2012, at 11:48, Richard Fateman wrote:

> What you ask for is an expression that includes all answers: the
> algebraic solution to the equation x^2-(3-4 I)=0.
> Notice that you can create the set of the 2 roots of a quadratic, that
> is, both square roots, by typing this.
> Table[Root[#^2 - (3 - 4 I)&, n], {n, 1, 2}]
> but this is a list, not "an algebraic number".
> If you want to manipulate "an arbitrary root", that is -2+I OR 2-I
> without specifying which one, it seems that Mathematica could provide
> this facility by allowing you to type, for a symbol n,
> y = Root[#^2- (3-4I)&,n]
> (actually,  Root[x^2-3+4I,n]  might do just a well and be less obscure).

Objects of the kind  Root[#^2-3+4I&,n], where n is a symbol would be mathematically meaningless and very unlikely to be of any serious use. The reason is that there is no canonical ordering of the complex roots of a polynomial and thus there is nothing "mathematical" that can be said about the "n-th root of a polynomial".

The only orderings that exist are specific to programs like Mathematica (and even Mathematica uses two different methods of root isolation with different resulting orderings so Root[f,n] has a different in general  a different meaning for each ordering). So any statement about Root[f,n] is a statement about a particular ordering using by Mathematica, and not,in general, a universal mathematical statement. For example, the statement that Root[f,1] is always real if f is a polynomial of odd degree is a statement about Mathematica (although it does imply the mathematical statement that every polynomial of odd degree has a real root).

It would be at best very clumsy to have to use an artificial ordering of roots to make general statements that have nothing to do with any orderings. The entire sense of these orderings is that you first perform "root isolation" before you order them. Isolating roots when you do not need to isolate them (in order to make a statement about all roots) would be wasteful and pointless. If you want to make a general statement about all roots of a polynomial there are at least two ways of doing it, both better than using artificial orderings. One way is to compute all the roots using Solve (better than using Table and Root). The other method is to use Reduce and quantifiers.

> For example,  we would know the unambiguous single value for y^2, and
> we could perhaps compute  y*Conjugate[y].

For example:

 ForAll[y, y^2 - (3 - 4 I) == 0,
  Element[a, Reals] && a == y*Conjugate[y]]]

a == 5

Reduce[ForAll[y, y^2 - (3 - 4 I) == 0, a == y^2]]

a == 3 - 4 I

> Unfortunately, Mathematica's designers/programmers do not allow you to
> write Root[x^2-3+4I,n]  unless n is a specific integer, namely 1 or 2.

Because when you evaluate Root[#^2-3+4I&,1]  or Root[#^2-3+4I&,2] Mathematica isolates the roots of the equation x^2-3+4I==0. When you write Root[#^2-3+4I&,n] there is nothing for Mathematica to do. You are thinking of using root ordering as a just a dumb notation, which it is not. If it were meant to me just notation it would be a very clumsy one.

Andrzej Kozlowski

  • Prev by Date: Re: GraphPath With Edge Weights
  • Next by Date: Re: GraphPath With Edge Weights
  • Previous by thread: Re: Sqrt of complex number
  • Next by thread: Re: Sqrt of complex number