2 votos

Aproximación meromórfica eficiente para obtener el iésimo bit de un número

Gracias a esta respuesta Sé que para conseguir el $i$ a parte de un número $n$ , puedes hacer $$\left\lfloor\frac{n}{2^i}\right\rfloor-2\left\lfloor\frac{n}{2^{i+1}}\right\rfloor$$ Sin embargo, necesito que esta fórmula sea meromorfa (estoy tratando de crear una función a la que pueda aplicar el Principio de argumentación a). Por supuesto, la función suelo no es meromorfa, así que necesito una aproximación (espero que con algún tipo de constante $k$ que puedo cambiar para disminuir el error). También me gustaría que fuera eficiente (el número de términos es constante o proporcional con $\log_2(n)$ )

Yo haría esta pregunta sólo sobre la función suelo, sin embargo, si hay alguna otra aproximación que utiliza alguna otra fórmula para encontrar el $i$ de la parte, soy todo oídos.

1voto

G Cab Puntos 51

Consideración (demasiado largo para un comentario)

Podríamos pensar en cambiar a la parte fraccionaria $\{ \left\{ x \right\}$ $$ x = \left\lfloor x \right\rfloor + \left\{ x \right\}\quad \left| {\,0 \le \left\{ x \right\} < 1} \right. $$ para que $$ \left\lfloor {{n \over {2^k }}} \right\rfloor - 2\left\lfloor {{n \over {2^{k + 1} }}} \right\rfloor = {n \over {2^k }} - \left\{ {{n \over {2^k }}} \right\} - 2{n \over {2^{k + 1} }} + 2\left\{ {{n \over {2^{k + 1} }}} \right\} = 2\left\{ {{n \over {2^{k + 1} }}} \right\} - \left\{ {{n \over {2^k }}} \right\} $$

El $\left\{ x \right\}$ en sí mismo es sólo una [onda diente de sierra] ( https://en.wikipedia.org/wiki/Sawtooth_wave ), que puede ser bien aproximado por su serie de Fourier.
Sin embargo, la aproximación de Fourier se vuelve mala al acercarse a los picos, lo que se vería amplificado por la diferencia anterior.

Por lo tanto, este tipo de enfoque debe ser examinado con más cuidado teniendo en cuenta el uso previsto

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X