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

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


O bueno, yo es que he rizado el rizo. No haría falta ni tomar logaritmos.
Solo consideras -1 como la raíz de (-1)^(1/5) y ya está.

> -(0.5)^(1/5)
[1] -0.8705506

El 16 de octubre de 2015, 16:13, Álvaro Hernández Vicente <ahvmat en gmail.com>
escribió:

> 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