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©

require ‘complex’
=> true

include Math
=> Object

c = Complex(-2,0)
=> Complex(-2, 0)

sqrt©
=> 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©

=> Complex(-2, 0)

sqrt©

=> 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:

http://gist.github.com/422636

Jabari

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