Yo creo que si no te interesan todas las soluciones y solo quieres la real
podrÃas tomar logaritmos y olvidarte un poco del tema.
(-0.5)^(1/5) = ( -exp( log(0.5) )^1/5 = (-1)^5 * exp( log(0.5) * 1/5 )
Con esto, si las quieres todas las soluciones pues hacer como ya te han
comentado con `polyroot`:
polyroot( z=c(-1,0,0,0,0,-1) ) * exp( 1/5*log( 0.5 ) )
[1] 0.7042902+0.5116968i -0.2690149+0.8279428i -0.2690149-0.8279428i
[4] 0.7042902-0.5116968i -0.8705506+0.0000000i
Pero si no quieres todas las soluciones puedes coger solo la raÃz real de
-1: (-1)^(1/5) = -1
y con tomar solo la exponencial del logaritmo te sobra.
[1] -0.8705506
Saludos, Ãlvaro.
El 16 de octubre de 2015, 13:56, José Trujillo Carmona <trujillo en unex.es>
escribió:
El problema del módulo es que pierde el signo.
En tu caso sale igual porque has invertido el signo del coeficiente en el
polinomio (en realidad se me pasó a a mà advertir que el término
independiente debe ir con signo negativo):
.> polyroot(z=c(0.5,0,0,0,0,1))
[1] 0.7042902+0.5116968i -0.2690149+0.8279428i -0.2690149-0.8279428i
[4] 0.7042902-0.5116968i -0.8705506+0.0000000i
.>
.> z_all <- polyroot(z=c(-0.5,0,0,0,0,-1))
.> z_all
[1] 0.7042902+0.5116968i -0.2690149+0.8279428i -0.2690149-0.8279428i
[4] 0.7042902-0.5116968i -0.8705506+0.0000000i
La última de la soluciones es la solución real, que obviamente es
negativa.
[1] 0.8705506 0.8705506 0.8705506 0.8705506 0.8705506
El módulo pasa a positivas las soluciones aunque como en este caso sean
negativas.
Como decÃa el polinomio debe ser:
-0.5^(1/5) = x -------> -0.5 = x^5 -------> -0.5 - x^5 = 0
Saludos.
El 16/10/15 a las 12:41, Carlos Ortega escribió:
Hola Ãlex,
SÃ, la raÃz real la puedes obtener calculando el módulo de la solución
compleja "Mod()".
Mira el ejemplo:
z <- (-0.5+0i)^(1/5)
[1] 0.8705506
En el ejemplo el primer cálculo se devuelve la solución principal.
Si quieres el resto de soluciones ya te han indicado como hacerlo y a
partir de ellas puedes volver a conseguir la solución real con Mod():
z_all <- polyroot(z=c(-0.5,0,0,0,0,1))
[1] 0.2690149+0.8279428i -0.7042902+0.5116968i -0.7042902-0.5116968i
0.8705506+0.0000000i
[5] 0.2690149-0.8279428i
[1] 0.8705506 0.8705506 0.8705506 0.8705506 0.8705506
Saludos,
Carlos Ortega
www.qualityexcellence.es
El 16 de octubre de 2015, 1:44, Alex J. Zambrano <alexjzc en gmail.com>
escribió:
Mirando los comentarios, realmente lo que deseo es encontrar la raÃz real
de (-0.5)^(1/5) la cual deberÃa ser -0.87055056329. José me hace caer en
cuenta que además de no encontrar la raiz real, tampoco da todas las
raiz
complejas. HabrÃa alguna manera de que tuviera en cuenta?
------------------------------
Message: 6
Date: Thu, 15 Oct 2015 11:25:39 +0200
From: José Trujillo Carmona <trujillo en unex.es>
To: r-help-es <r-help-es en r-project.org>
Subject: [R-es] Fwd: Re: potencia fracional de un número negativo
Message-ID: <561F7113.5070408 en unex.es>
Content-Type: text/plain; charset="UTF-8"
-------- Mensaje reenviado --------
Asunto: Re: [R-es] potencia fracional de un n? negativo
Fecha: Thu, 15 Oct 2015 11:15:31 +0200
De: Jos?rujillo Carmona <trujillo en unex.es>
Para: Jose Luis Ca?s Reche <canadasreche en gmail.com>
El 15/10/15 a las 10:45, Jose Luis Ca?s Reche escribi? Hola.
No s?i va por aqu?pero prueba a quitar el par?esis a (-0.5)
Ejemplo
-0.03125^(1/5)
[1] -0.5
Y se ve qeu -0.5^(5) es -0.03125
S?ero es trampa. Primero hace la ra?y despu?pone el signo.
Generalizando hace cosas absurdas como:
-4^(1/2)
[1] -2
La soluci?eber?ser utilizar n?s complejos ya que la raiz de un
n? negativo tiene soluci?eneral compleja, y es real solo en el
caso particular de los exponentes inversos de un impar. Pero observo
que
tampoco funciona con n?s complejos, ya que a diferencia de lo que
ocurre con otros programas no proporciona TODAS las raices, sino que
solo proporciona una
(-2)^3
[1] -8.000002-0.000001i
-2, la soluci?1+1.732051i) y su conjugada (1+1.732051i) son las tres
raices c?s de -8, pero solo da una de las tres. Deber?dar las tres
y no s?omo se hace para decirle que de las tres.
(1-1.732051i)^3
[1] -8.000002+0.000001i
Saludos.
El 15/10/15 a las 06:02, Alex J. Zambrano escribi?> Hola a tod en s.
Realizando el calculo de encontrar la ra?quinta de -0.5, la cual
d?to
de la siguiente manera
(-0.5)^(1/5)
El resultado que me arroja R es NaN.
Averiguando un poco entre las ayuda de las funciones aritm?cas
encuentro
el siguiente comentario
Users are sometimes surprised by the value returned, for example why
(-8)^(1/3) is NaN. For double inputs, R makes use of IEC 60559
arithmetic
on all platforms, together with the C system function pow for the ^
operator. The relevant standards define the result in many corner
cases. In
particular, the result in the example above is mandated by the C99
standard. On many Unix-alike systems the command man pow gives
details of
the values in a large number of corner cases.
?Qu?pciones puedo utilizar para poder encontrar el resultado?
Agradezco de antemano la colaboraci?>>
Cordial saludo.