Velocity Reviews > Ruby > Square Root

# Square Root

Angus Hammond
Guest
Posts: n/a

 05-29-2010
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)

Jean-Julien Fleck
Guest
Posts: n/a

 05-29-2010
Hello Angus,

2010/5/29 Angus Hammond <(E-Mail Removed)>:
> 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 solve=

s
> quadratic equations recently. Ideally but not necessarily it should be ab=

le
> 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 =3D Complex(-2,0)
sqrt(c)

>> require 'complex'

=3D> true
>> include Math

=3D> Object
>> c =3D Complex(-2,0)

=3D> Complex(-2, 0)
>> sqrt(c)

=3D> Complex(0.0, 1.4142135623731)

Cheers,

--=20
JJ Fleck
PCSI1 Lyc=E9e Kl=E9ber

Angus Hammond
Guest
Posts: n/a

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

On 29/05/10 21:03, Jean-Julien Fleck wrote:
> Hello Angus,
>
> 2010/5/29 Angus Hammond<(E-Mail Removed)>:
>
>> 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,
>
>

jzakiya
Guest
Posts: n/a

 06-02-2010
On May 29, 3:33*pm, Angus Hammond <(E-Mail Removed)> wrote:
> Thanks I had tried require complex and Math::sqrt but only separately.
> Thanks again.
> Angus
>
> On 29/05/10 21:03, Jean-Julien Fleck wrote:
>
> > Hello Angus,

>
> > 2010/5/29 Angus Hammond<(E-Mail Removed)>:

>
> >> 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 beable
> >> 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,

>
>

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