Cómo aproximar un número racional m/nm/nm/n con fracciones a/ba/ba/b tal que se da el producto ababab

Considere un cierto número racional α = metro / norte y deja norte ser un entero positivo. ¿Hay alguna manera de encontrar la mejor aproximación racional? X / y de α entre todas las fracciones tales que X y = norte , con X , y no necesariamente coprime? Tengo una idea intuitiva, pero esto no es realmente útil si norte es grande y ni siquiera estoy seguro de que funcione correctamente en general.

Explico esta idea con un ejemplo concreto.

Suponer α = 3 / 8 y deja norte = 20 = 2 2 5. La condición “exacta” X / y = 3 / 8 significa que existe un entero tu tal que X = 3 tu , y = 8 tu . Usando X y = 20 Encuentro que la condición exacta se realiza cuando tu = 5 / 6 . Entonces y = 8 5 / 6 7.3 Si quiero una mejor aproximación con mi restricción, debería obtener y el divisor más cercano de 20 a 7.3 de arriba y de abajo, que son 10 y 5. Las aproximaciones correspondientes son 4 / 5 y 2 / 10 y de una comprobación fácil vemos que 2 / 10 es la mejor aproximación.

Esta estrategia puede tener un gran problema cuando norte es enorme: en particular cuando se desconoce su factorización o cuando tiene muchos divisores. ¿Hay alguna manera de tratar este problema con bastante facilidad? Sé que hay algunas estrategias que usan el truncamiento de las fracciones continuas, pero la restricción en el producto parece no ser buena para ser tratada de esta manera.

Por ejemplo, ¿cómo puedo resolver el problema cuando norte = 15 ! y α = 19 / 37 ?

Respuestas (1)

X y = 15 ! = norte . norte y 2 = X / y 19 / 37 . y 37 norte / 19 1595783 . Entonces queremos un divisor de 15 ! cerca de 1595783 .

15 ! = 2 11 3 6 5 3 7 2 11 13 . Tomando registros, queremos a 2 registro 2 + a 3 registro 3 + a 5 registro 5 + a 7 registro 7 + a 11 registro 11 + a 13 registro 13 registro 1595783 con 0 a 2 11 , 0 a 3 6 , ..., 0 a 13 1 . Este es un problema de programación entera. Existen técnicas eficientes para encontrar soluciones (pero no las conozco lo suficientemente bien como para entrar en detalles). Ciertamente, hay algoritmos de búsqueda de relaciones enteras como PSLQ que podrían aplicarse. Consulte, para empezar, https://en.wikipedia.org/wiki/Integer_relation_algorithm