[R-es] potencia fracional de un número negativo

Álvaro Hernández Vicente ahvmat en gmail.com
Vie Oct 16 16:13:21 CEST 2015


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.

> -exp( 1/5*log( 0.5 ) )
[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.
>
> > Mod(z_all)
> [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)
>>> z
>>>
>> [1] 0.7042902+0.5116968i
>>
>>> Re(z)
>>>
>> [1] 0.7042902
>>
>>> Im(z)
>>>
>> [1] 0.5116968
>>
>>> Mod(z)
>>>
>> [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))
>>> z_all
>>>
>> [1]  0.2690149+0.8279428i -0.7042902+0.5116968i -0.7042902-0.5116968i
>> 0.8705506+0.0000000i
>> [5]  0.2690149-0.8279428i
>>
>>> Mod(z_all)
>>>
>> [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
>>>>
>>>>> (-8)^(1/3)
>>>>>
>>>> [1] NaN
>>>>
>>>>> (-8+0i)^(1/3)
>>>>>
>>>> [1] 1+1.732051i
>>>>
>>>>> (1+1.732051i)^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.
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>> R-help-es mailing list
>>>>> R-help-es en r-project.org
>>>>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>>>>
>>>>
>>>>
>>>>
>>>>          [[alternative HTML version deleted]]
>>>>
>>>>
>>> --
>>> Alex Johann Zambrano Carbonell
>>> http://experienceinstatistics.blogspot.com/
>>>
>>>          [[alternative HTML version deleted]]
>>>
>>> _______________________________________________
>>> R-help-es mailing list
>>> R-help-es en r-project.org
>>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>>
>>>
>>
>>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>

	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es