Square Root

Is there a way to get an accurate square root?
This means that a negative number should return the appropriate complex
number. I have been having some trouble with this in a program that
solves quadratic equations recently. Ideally but not necessarily it
should be able to get the square root of complex numbers as well.
NB Neither -2**0.5 or Math::sqrt(-2) return appropriate answers. (-2 and
an error respectively)
Thanks in advance.

Hello Angus,

2010/5/29 Angus H. [email protected]:

Is there a way to get an accurate square root?
This means that a negative number should return the appropriate complex
number. I have been having some trouble with this in a program that solves
quadratic equations recently. Ideally but not necessarily it should be able
to get the square root of complex numbers as well.
NB Neither -2**0.5 or Math::sqrt(-2) return appropriate answers. (-2 and an
error respectively)

require ‘complex’
include Math
c = Complex(-2,0)
sqrt(c)

require ‘complex’
=> true
include Math
=> Object
c = Complex(-2,0)
=> Complex(-2, 0)
sqrt(c)
=> Complex(0.0, 1.4142135623731)

Cheers,

On May 29, 3:33 pm, Angus H. [email protected] wrote:

Is there a way to get an accurate square root?
sqrt(c)

=> Complex(-2, 0)

sqrt(c)

=> Complex(0.0, 1.4142135623731)

Cheers,

FYI. For more extensive (and easy) way to add the ability
to find the nth roots of all numerical types check out
my Roots module here:

Jabari

Thanks I had tried require complex and Math::sqrt but only separately.
Thanks again.
Angus