triples pitagóricos donde son algunos de los más raros; el tiene términos en los cuatrillones. Encontré una fórmula en un libro, "Triángulos de Pitágoras" que los genera en secuencia comenzando con un triple semilla : Generará etcétera. Diecinueve iteraciones te da la primera triplica y eso es genial, pero desarrollé una fórmula que usa menos cómputo hasta que llegas al triple que desea ver. Genera los parámetros para alimentar la fórmula de Euclides:
la fórmula es y genera los siguientes pares con una semilla: .
Me gustaría poder generar el o el emparejar directamente sin generar -a través de- o -a través de- para llegar allí, pero no he podido encontrar ninguna forma de generar un par individual directamente. Yo he tratado y otras cosas como factores de y me quedo sin ideas.
¿Es posible generar un par de miembros usando solo como un número de entrada o, por la naturaleza de esta secuencia, ¿es necesario generarlos todos en orden hasta llegar al par deseado?
Alguien dijo que mi fórmula no funciona pero aquí está funcionando en una hoja de cálculo.
El cálculo de las ternas pitagóricas de la forma es equivalente al cálculo de algunos convergentes de la fracción continua de : En particular
Respuesta editada...
que comienza con un comentario.
El título Buscando la mejor manera de encontrar ternas pitagóricas donde es posiblemente engañoso para la pregunta real, que después de muchos comentarios solo puede extraerse del hecho de que la respuesta inicial para el la recursión (permaneció en la secuela) no es la respuesta deseada. Siempre aclare en el OP cuál es la pregunta (sin alternativas, es mejor expresarla como pregunta, no como un deseo).
El OP ofrece dos formas de construir triples pitagóricos, una es "de un libro" y construye triples recursivamente, el otro proviene de una fórmula, construye pares intermedios dada por otra recursividad, que puede usarse para reconstruir . Como extraigo la información de los comentarios, solo necesitamos el (a pesar del título, y de la digresión/divagación inicial sobre los triples). Bien, esto es aún más simple.
Tenemos la fórmula de recursión lineal para el par escrita como vector columna
En particular, para podemos calcular redondeando a un número entero el número . Por ejemplo, para obtenemos y después de redondear obtenemos .
Respuesta anterior para la forma explícita de la recursión:
Puede intentar escribir explícitamente la fórmula de recurrencia como si pasara de un par al siguiente par en la forma:
sage: K.<a> = QuadraticField(2)
sage: a^2
2
sage: T = matrix( K, 3,3, [3,2,1, 4,3,2, 0,0,1] )
sage: T
[3 2 1]
[4 3 2]
[0 0 1]
sage: D, change = T.jordan_form(transformation=True)
sage: D
[ 2*a + 3| 0| 0]
[--------+--------+--------]
[ 0| 1| 0]
[--------+--------+--------]
[ 0| 0|-2*a + 3]
sage: change
[ 1 1 1]
[ a 0 -a]
[ 0 -2 0]
sage: change * D * change^-1 == T
True
Edición posterior: usemos y escribamos explícitamente la fórmula obtenida para , y por lo tanto también para los poderes de . Abajo, es la matriz de cambio de base.
Deje de leer aquí si los experimentos informáticos no son bienvenidos. (Publiqué esto ya que la forma del OP también tiene una recopilación de datos similar. A menudo es para mí un control, y en este caso también puede ser útil para algunos lectores).
Ejemplo de un cálculo explícito:
Para calcular -digamos- el .ésimo término (más o menos) ya tenemos , entonces calcule con sage el producto:
sage: Z = matrix(3, 1, [0,1,1]) # initial solution, A=0, C=1
sage: change * D^15 * change^-1 * Z
[183648021599]
[259717522849]
[ 1]
sage: A15, C15 = 183648021599, 259717522849
sage: B15 = A15 + 1
sage: A15^2 + B15^2 == C15^2
True
Este es el tipo de cálculo directo necesario. (La matriz diagonal tiene entradas diagonales , y , por lo que el único cálculo involucrado es el de las potencias de estas entradas diagonales).
Parcly Taxel
Baminovski
Jack D´Aurizio
poetasis