Newsgrupos.com  

Retroceder   Newsgrupos.com > Forum > Newsgroup es.ciencia.* Foro > Newsgroup es.ciencia.matematicas
Registrarse Preguntas Frecuentes Lista de Foreros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




Respuesta
 
LinkBack Herramientas Desplegado
  #1 (permalink)  
Antiguo 25-01-2008, 08:48:35
Conchivgr@gmail.com
 
Mensajes: n/a
Predeterminado Aproximacion vs informatica

Hola.

En el trabajo, estoy intentando programar un tema que quizás sea más
de índole informático, pero quizás puedan ayudarme los matemáticos.

Sea la función hipergeométrica (Kummer) más simple:

Sumatorio(desde n=0 hasta infinito) [ alpha_n (x^n / n!) ], donde
definimos alpha_n de forma recurrente como sigue:

alpha_0 = 1

alpha_n = ( alpha_n+1 / alpha_n ) = (n -1/2) / (n+1).

El problema de esta serie es que para valores muy muy pequeños de n,
el ordenador se desborda. Para valores de x aproximados a 100 la
serie acaba convergiendo, pero se desborda el ordenador.

Para valores de x entre -30 y -40, la serie acaba convergiendo en 100
iteraciones, pero para valores de x menores que 100, uso una
aproximación que me da un error de 1/|x|, el cual es mucho (no pongo
la aproximación porque prácticamente me la estoy inventando).

¿Se puede "simplificar" esta serie para poder computarla mejor con un
error aceptable?.

Gracias.
Responder Con Cita
Alt Today
Advertising
Google Adsense
 
This advertising will not be shown
in this way to registered members.
Register your free account today
and become a member on
Newsgrupos.com
Standard Sponsored Links

  #2 (permalink)  
Antiguo 25-01-2008, 09:08:13
Ignacio Larrosa Cañestro
 
Mensajes: n/a
Predeterminado Re: Aproximacion vs informatica

Conchivgr***gmail.com wrote:
> Hola.
>
> En el trabajo, estoy intentando programar un tema que quizás sea más
> de índole informático, pero quizás puedan ayudarme los matemáticos.
>
> Sea la función hipergeométrica (Kummer) más simple:
>
> Sumatorio(desde n=0 hasta infinito) [ alpha_n (x^n / n!) ], donde
> definimos alpha_n de forma recurrente como sigue:
>
> alpha_0 = 1
>
> alpha_n = ( alpha_n+1 / alpha_n ) = (n -1/2) / (n+1).
>


No entiendo muy bien esa dedinición de alpha_n ...


--
Saludos,

Ignacio Larrosa Cañestro
A Coruña (España)
ilarrosaQUITARMAYUSCULAS***mundo-r.com

> El problema de esta serie es que para valores muy muy pequeños de n,
> el ordenador se desborda. Para valores de x aproximados a 100 la
> serie acaba convergiendo, pero se desborda el ordenador.
>
> Para valores de x entre -30 y -40, la serie acaba convergiendo en 100
> iteraciones, pero para valores de x menores que 100, uso una
> aproximación que me da un error de 1/|x|, el cual es mucho (no pongo
> la aproximación porque prácticamente me la estoy inventando).
>
> ¿Se puede "simplificar" esta serie para poder computarla mejor con un
> error aceptable?.
>
> Gracias.


--
Saludos,

Ignacio Larrosa Cañestro
A Coruña (España)
ilarrosaQUITARMAYUSCULAS***mundo-r.com


Responder Con Cita
  #3 (permalink)  
Antiguo 25-01-2008, 09:08:13
Ignacio Larrosa Cañestro
 
Mensajes: n/a
Predeterminado Re: Aproximacion vs informatica

Conchivgr***gmail.com wrote:
> Hola.
>
> En el trabajo, estoy intentando programar un tema que quizás sea más
> de índole informático, pero quizás puedan ayudarme los matemáticos.
>
> Sea la función hipergeométrica (Kummer) más simple:
>
> Sumatorio(desde n=0 hasta infinito) [ alpha_n (x^n / n!) ], donde
> definimos alpha_n de forma recurrente como sigue:
>
> alpha_0 = 1
>
> alpha_n = ( alpha_n+1 / alpha_n ) = (n -1/2) / (n+1).
>


No entiendo muy bien esa dedinición de alpha_n ...


--
Saludos,

Ignacio Larrosa Cañestro
A Coruña (España)
ilarrosaQUITARMAYUSCULAS***mundo-r.com

> El problema de esta serie es que para valores muy muy pequeños de n,
> el ordenador se desborda. Para valores de x aproximados a 100 la
> serie acaba convergiendo, pero se desborda el ordenador.
>
> Para valores de x entre -30 y -40, la serie acaba convergiendo en 100
> iteraciones, pero para valores de x menores que 100, uso una
> aproximación que me da un error de 1/|x|, el cual es mucho (no pongo
> la aproximación porque prácticamente me la estoy inventando).
>
> ¿Se puede "simplificar" esta serie para poder computarla mejor con un
> error aceptable?.
>
> Gracias.


--
Saludos,

Ignacio Larrosa Cañestro
A Coruña (España)
ilarrosaQUITARMAYUSCULAS***mundo-r.com


Responder Con Cita
  #4 (permalink)  
Antiguo 25-01-2008, 09:37:52
Conchivgr@gmail.com
 
Mensajes: n/a
Predeterminado Re: Aproximacion vs informatica

On 25 ene, 09:48, Conchi...***gmail.com wrote:
> Hola.
>
> En el trabajo, estoy intentando programar un tema que quizás sea más
> de índole informático, pero quizás puedan ayudarme los matemáticos..
>
> Sea la función hipergeométrica (Kummer) más simple:
>
> Sumatorio(desde n=0 hasta infinito) [ alpha_n (x^n / n!) ], donde
> definimos alpha_n de forma recurrente como sigue:
>
> alpha_0 = 1
>
> alpha_n = ( alpha_n+1 / alpha_n ) = (n -1/2) / (n+1).
>
> El problema de esta serie es que para valores muy muy pequeños de n,
> el ordenador se desborda. Para valores de x aproximados a 100 la
> serie acaba convergiendo, pero se desborda el ordenador.
>
> Para valores de x entre -30 y -40, la serie acaba convergiendo en 100
> iteraciones, pero para valores de x menores que 100, uso una
> aproximación que me da un error de 1/|x|, el cual es mucho (no pongo
> la aproximación porque prácticamente me la estoy inventando).
>
> ¿Se puede "simplificar" esta serie para poder computarla mejor con un
> error aceptable?.
>
> Gracias.


Perdón. Quise poner:

alpha_n = ( alpha_n / alpha_n+1 ) = (n -1/2) / (n+1).

Está basado en los polinomios de Laguerre.

Gracias.

Responder Con Cita
  #5 (permalink)  
Antiguo 25-01-2008, 09:37:52
Conchivgr@gmail.com
 
Mensajes: n/a
Predeterminado Re: Aproximacion vs informatica

On 25 ene, 09:48, Conchi...***gmail.com wrote:
> Hola.
>
> En el trabajo, estoy intentando programar un tema que quizás sea más
> de índole informático, pero quizás puedan ayudarme los matemáticos..
>
> Sea la función hipergeométrica (Kummer) más simple:
>
> Sumatorio(desde n=0 hasta infinito) [ alpha_n (x^n / n!) ], donde
> definimos alpha_n de forma recurrente como sigue:
>
> alpha_0 = 1
>
> alpha_n = ( alpha_n+1 / alpha_n ) = (n -1/2) / (n+1).
>
> El problema de esta serie es que para valores muy muy pequeños de n,
> el ordenador se desborda. Para valores de x aproximados a 100 la
> serie acaba convergiendo, pero se desborda el ordenador.
>
> Para valores de x entre -30 y -40, la serie acaba convergiendo en 100
> iteraciones, pero para valores de x menores que 100, uso una
> aproximación que me da un error de 1/|x|, el cual es mucho (no pongo
> la aproximación porque prácticamente me la estoy inventando).
>
> ¿Se puede "simplificar" esta serie para poder computarla mejor con un
> error aceptable?.
>
> Gracias.


Perdón. Quise poner:

alpha_n = ( alpha_n / alpha_n+1 ) = (n -1/2) / (n+1).

Está basado en los polinomios de Laguerre.

Gracias.

Responder Con Cita
  #6 (permalink)  
Antiguo 25-01-2008, 09:58:48
Radiador
 
Mensajes: n/a
Predeterminado Re: Aproximacion vs informatica

On 25 ene, 10:37, Conchi...***gmail.com wrote:
>
> Perdón. Quise poner:
>
> alpha_n = ( alpha_n / alpha_n+1 ) = (n -1/2) / (n+1).
>
> Está basado en los polinomios de Laguerre.



Sigue sin estar nada clara esa definición
Si quieres decir que

alpha_n = ( n - 1/2 ) / ( n + 1 )

entonces no tiene sentido dar una relación de recurrencia. Y si
quieres dar una relación de recurrencia, entonces tienes que expresar
alpha_{n+1} en función (explícita o implícita) de los miembros
anteriores.
Si escribes

alpha_n = alpha_n / alpha_{n+1}, tendrías alpha_{n+1}=1 para todo n.

¿Te refieres al símbolo de Pochhammer?
http://mathworld.wolfram.com/PochhammerSymbol.html

Échale un vistazo también a
http://mathworld.wolfram.com/Conflue...FirstKind.html
Responder Con Cita
  #7 (permalink)  
Antiguo 25-01-2008, 09:58:48
Radiador
 
Mensajes: n/a
Predeterminado Re: Aproximacion vs informatica

On 25 ene, 10:37, Conchi...***gmail.com wrote:
>
> Perdón. Quise poner:
>
> alpha_n = ( alpha_n / alpha_n+1 ) = (n -1/2) / (n+1).
>
> Está basado en los polinomios de Laguerre.



Sigue sin estar nada clara esa definición
Si quieres decir que

alpha_n = ( n - 1/2 ) / ( n + 1 )

entonces no tiene sentido dar una relación de recurrencia. Y si
quieres dar una relación de recurrencia, entonces tienes que expresar
alpha_{n+1} en función (explícita o implícita) de los miembros
anteriores.
Si escribes

alpha_n = alpha_n / alpha_{n+1}, tendrías alpha_{n+1}=1 para todo n.

¿Te refieres al símbolo de Pochhammer?
http://mathworld.wolfram.com/PochhammerSymbol.html

Échale un vistazo también a
http://mathworld.wolfram.com/Conflue...FirstKind.html
Responder Con Cita
  #8 (permalink)  
Antiguo 25-01-2008, 11:53:21
Conchivgr@gmail.com
 
Mensajes: n/a
Predeterminado Re: Aproximacion vs informatica

On 25 ene, 10:58, Radiador <radiado...***hotmail.com> wrote:
> On 25 ene, 10:37, Conchi...***gmail.com wrote:
>
>
>
> > Perdón. Quise poner:

>
> > alpha_n = ( alpha_n / alpha_n+1 ) = (n -1/2) / (n+1).

>
> > Está basado en los polinomios de Laguerre.

>
> Sigue sin estar nada clara esa definición
> Si quieres decir que
>
> alpha_n = ( n - 1/2 ) / ( n + 1 )
>
> entonces no tiene sentido dar una relación de recurrencia. Y si
> quieres dar una relación de recurrencia, entonces tienes que expresar
> alpha_{n+1} en función (explícita o implícita) de los miembros
> anteriores.
> Si escribes
>
> alpha_n = alpha_n / alpha_{n+1}, tendrías alpha_{n+1}=1 para todo n.
>
> ¿Te refieres al símbolo de Pochhammer?http://mathworld.wolfram.com/PochhammerSymbol.html
>
> Échale un vistazo también ahttp://mathworld.wolfram.com/ConfluentHypergeometricFunctionoftheFirs...


Hola Antonio. Muchas gracias por tu interés. A ver si me explico
correctamente.

Aquí tienes la definición, en wikipedia:

http://en.wikipedia.org/wiki/Hyperge...The_series_pFq

En concreto nos interesa el caso con p = 1 y q = 1 (función de Kummer)
con:

a1 = -1/2
b1 = 1

y conseguir evaluarlo numéricamente para valores del orden de z = -100
(z siempre real y negativo en nuestro problema)

Lo que estamos haciendo actualmente es aplicar la definición de
función hipergemétrica tal cual para valores z > -30 y para valores
mayores usamos una expansión asintótica, tal como viene el Abramowitz
y Stegun: http://www.math.sfu.ca/~cbm/aands/page_504.htm

Como podemos ver para valores de z = -100 el error es del orden de dos
decimales, que a nosotros nos vale de sobra, pero parece mentira no
poder obtenerlo mejor...

La pregunta es por tanto:

¿Podemos hallar un método que te evalue la funcíón 1F1(-1/2, 1, x)
para todo x con la precisión únicamente limitada por la precisión de
la coma flotante del ordenador?

Aunque el problema ya está matemáticamente planteado te digo de donde
viene todo el asunto:

En el proyecto tenemos una velocidad norte (vn) y una velocidad sur
(vs) que siguen distribuctiones normales, supongamos independientes y
con idéntica varianza, pero distinta media. Entonces el módulo de la
velocidad es:

v = sqrt(vn^2 + vs^2)

y sigue una distribución chi no centrada: http://en.wikipedia.org/wiki/Noncent...i_distribution

A mí, de esta distribución sólo me interesa la media y la varianza.
Como puedes ver en wikipedia lo dificil es calcular la media:

raiz_cuadrada( Pi/2) (L_1/2)^(k/2-1)(-lambda^2 / 2)

Donde:
a
L
n

es un polinomio generalizado de Laguerre y buscamos el caso particular
n = 1/2 y a = 0 (ya que es k = 2)
http://en.wikipedia.org/wiki/Laguerre_polynomial

Curiosamente en wikipedia solo vienen los polinomios de Laguerre para
casos con n entero. La definición para n fraccional se encuentra en:
http://functions.wolfram.com/Hyperge...neral/02/0001/

Las funciones gamma no son un problema. El problema es la función
1F1 :

http://mathworld.wolfram.com/Regular...cFunction.html

Finalmente necesitamos calcular pFq que es lo que ya sabías...

Gracias.

Responder Con Cita
  #9 (permalink)  
Antiguo 25-01-2008, 11:53:21
Conchivgr@gmail.com
 
Mensajes: n/a
Predeterminado Re: Aproximacion vs informatica

On 25 ene, 10:58, Radiador <radiado...***hotmail.com> wrote:
> On 25 ene, 10:37, Conchi...***gmail.com wrote:
>
>
>
> > Perdón. Quise poner:

>
> > alpha_n = ( alpha_n / alpha_n+1 ) = (n -1/2) / (n+1).

>
> > Está basado en los polinomios de Laguerre.

>
> Sigue sin estar nada clara esa definición
> Si quieres decir que
>
> alpha_n = ( n - 1/2 ) / ( n + 1 )
>
> entonces no tiene sentido dar una relación de recurrencia. Y si
> quieres dar una relación de recurrencia, entonces tienes que expresar
> alpha_{n+1} en función (explícita o implícita) de los miembros
> anteriores.
> Si escribes
>
> alpha_n = alpha_n / alpha_{n+1}, tendrías alpha_{n+1}=1 para todo n.
>
> ¿Te refieres al símbolo de Pochhammer?http://mathworld.wolfram.com/PochhammerSymbol.html
>
> Échale un vistazo también ahttp://mathworld.wolfram.com/ConfluentHypergeometricFunctionoftheFirs...


Hola Antonio. Muchas gracias por tu interés. A ver si me explico
correctamente.

Aquí tienes la definición, en wikipedia:

http://en.wikipedia.org/wiki/Hyperge...The_series_pFq

En concreto nos interesa el caso con p = 1 y q = 1 (función de Kummer)
con:

a1 = -1/2
b1 = 1

y conseguir evaluarlo numéricamente para valores del orden de z = -100
(z siempre real y negativo en nuestro problema)

Lo que estamos haciendo actualmente es aplicar la definición de
función hipergemétrica tal cual para valores z > -30 y para valores
mayores usamos una expansión asintótica, tal como viene el Abramowitz
y Stegun: http://www.math.sfu.ca/~cbm/aands/page_504.htm

Como podemos ver para valores de z = -100 el error es del orden de dos
decimales, que a nosotros nos vale de sobra, pero parece mentira no
poder obtenerlo mejor...

La pregunta es por tanto:

¿Podemos hallar un método que te evalue la funcíón 1F1(-1/2, 1, x)
para todo x con la precisión únicamente limitada por la precisión de
la coma flotante del ordenador?

Aunque el problema ya está matemáticamente planteado te digo de donde
viene todo el asunto:

En el proyecto tenemos una velocidad norte (vn) y una velocidad sur
(vs) que siguen distribuctiones normales, supongamos independientes y
con idéntica varianza, pero distinta media. Entonces el módulo de la
velocidad es:

v = sqrt(vn^2 + vs^2)

y sigue una distribución chi no centrada: http://en.wikipedia.org/wiki/Noncent...i_distribution

A mí, de esta distribución sólo me interesa la media y la varianza.
Como puedes ver en wikipedia lo dificil es calcular la media:

raiz_cuadrada( Pi/2) (L_1/2)^(k/2-1)(-lambda^2 / 2)

Donde:
a
L
n

es un polinomio generalizado de Laguerre y buscamos el caso particular
n = 1/2 y a = 0 (ya que es k = 2)
http://en.wikipedia.org/wiki/Laguerre_polynomial

Curiosamente en wikipedia solo vienen los polinomios de Laguerre para
casos con n entero. La definición para n fraccional se encuentra en:
http://functions.wolfram.com/Hyperge...neral/02/0001/

Las funciones gamma no son un problema. El problema es la función
1F1 :

http://mathworld.wolfram.com/Regular...cFunction.html

Finalmente necesitamos calcular pFq que es lo que ya sabías...

Gracias.

Responder Con Cita
  #10 (permalink)  
Antiguo 25-01-2008, 12:49:02
Antonio González
 
Mensajes: n/a
Predeterminado Re: Aproximacion vs informatica

Conchivgr***gmail.com escribió:
> On 25 ene, 10:58, Radiador <radiado...***hotmail.com> wrote:
>> On 25 ene, 10:37, Conchi...***gmail.com wrote:
>>
>>
>>
>>> Perdón. Quise poner:
>>> alpha_n = ( alpha_n / alpha_n+1 ) = (n -1/2) / (n+1).
>>> Está basado en los polinomios de Laguerre.

>> Sigue sin estar nada clara esa definición
>> Si quieres decir que
>>
>> alpha_n = ( n - 1/2 ) / ( n + 1 )
>>
>> entonces no tiene sentido dar una relación de recurrencia. Y si
>> quieres dar una relación de recurrencia, entonces tienes que expresar
>> alpha_{n+1} en función (explícita o implícita) de los miembros
>> anteriores.
>> Si escribes
>>
>> alpha_n = alpha_n / alpha_{n+1}, tendrías alpha_{n+1}=1 para todo n.
>>
>> ¿Te refieres al símbolo de Pochhammer?http://mathworld.wolfram.com/PochhammerSymbol.html
>>
>> Échale un vistazo también ahttp://mathworld.wolfram.com/ConfluentHypergeometricFunctionoftheFirs...

>
> Hola Antonio. Muchas gracias por tu interés. A ver si me explico
> correctamente.
>
> Aquí tienes la definición, en wikipedia:
>
> http://en.wikipedia.org/wiki/Hyperge...The_series_pFq
>
> En concreto nos interesa el caso con p = 1 y q = 1 (función de Kummer)
> con:
>
> a1 = -1/2
> b1 = 1
>


Segun el Mathematica (que asegura que puede calcularlo con precisión
arbitraria)

Hypergeometric1F1[-1/2,1,x]

equivale a

-E^(x/2) (-BesselI[0,x/2]+x BesselI[0,x/2]-x BesselI[1,x/2])

o, en forma más tradicional,

1F1(-1/2;1;x) = e^(x/2)((1-x)I0(x/2) - x I1(1,x/2))

y algoritmos para calcular las funciones de Bessel hay muchos.

El valor para z=-100 es

11.31203668068241340991172874532835607911829924...

Calcular 2000 decimales le lleva 0.016 segundos.


> y conseguir evaluarlo numéricamente para valores del orden de z = -100
> (z siempre real y negativo en nuestro problema)
>
> Lo que estamos haciendo actualmente es aplicar la definición de
> función hipergemétrica tal cual para valores z > -30 y para valores
> mayores usamos una expansión asintótica, tal como viene el Abramowitz
> y Stegun: http://www.math.sfu.ca/~cbm/aands/page_504.htm
>
> Como podemos ver para valores de z = -100 el error es del orden de dos
> decimales, que a nosotros nos vale de sobra, pero parece mentira no
> poder obtenerlo mejor...
>
> La pregunta es por tanto:
>
> ¿Podemos hallar un método que te evalue la funcíón 1F1(-1/2, 1, x)
> para todo x con la precisión únicamente limitada por la precisión de
> la coma flotante del ordenador?
>
> Aunque el problema ya está matemáticamente planteado te digo de donde
> viene todo el asunto:
>
> En el proyecto tenemos una velocidad norte (vn) y una velocidad sur
> (vs) que siguen distribuctiones normales, supongamos independientes y
> con idéntica varianza, pero distinta media. Entonces el módulo de la
> velocidad es:
>
> v = sqrt(vn^2 + vs^2)
>
> y sigue una distribución chi no centrada: http://en.wikipedia.org/wiki/Noncent...i_distribution
>
> A mí, de esta distribución sólo me interesa la media y la varianza.
> Como puedes ver en wikipedia lo dificil es calcular la media:
>
> raiz_cuadrada( Pi/2) (L_1/2)^(k/2-1)(-lambda^2 / 2)
>
> Donde:
> a
> L
> n
>
> es un polinomio generalizado de Laguerre y buscamos el caso particular
> n = 1/2 y a = 0 (ya que es k = 2)
> http://en.wikipedia.org/wiki/Laguerre_polynomial
>
> Curiosamente en wikipedia solo vienen los polinomios de Laguerre para
> casos con n entero. La definición para n fraccional se encuentra en:
> http://functions.wolfram.com/Hyperge...neral/02/0001/
>
> Las funciones gamma no son un problema. El problema es la función
> 1F1 :
>
> http://mathworld.wolfram.com/Regular...cFunction.html
>
> Finalmente necesitamos calcular pFq que es lo que ya sabías...
>
> Gracias.
>



--

Antonio
Responder Con Cita
 
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado


Temas Similares
Tema Autor Foro Respuestas Último mensaje
lo que hagas en pro de la informatica, la informatica lo hara en tubeneficio Boixnet Newsgroup es.comp.os.ms-windows.programacion 0 18-06-2008 13:02:36
lo que hagas en pro de la informatica, la informatica lo hara en tubeneficio Boixnet Newsgroup es.comp.hardware.misc 0 18-06-2008 13:01:24
lo que hagas en pro de la informatica, la informatica lo hara en tubeneficio Boixnet Newsgroup es.comp.os.ms-windows.misc 0 18-06-2008 12:59:25
lo que hagas en pro de la informatica, la informatica lo hara en tubeneficio Herounknown & Boixnet Newsgroup es.comp.hackers 0 18-06-2008 12:50:36
Qué escandalo: Una aproximación histórica que levanta ampollas Runspect Newsgroup es.humanidades.literatura 1 07-02-2008 16:35:29





Powered by: vBulletin, Versión 3.6.8
Derechos de Autor ©2000 - 2008, Jelsoft Enterprises Ltd.

LinkBacks Enabled by vBSEO 3.1.0 © 2007, Crawlability, Inc.