Iterative Methods for Solving Linear Systems
Suzanne Riehl
restart:
with(LinearAlgebra): with(plots): with(plottools):
Warning, the name changecoords has been redefined
Warning, the assigned name arrow now has a global binding
A specific example.
eq1:= 7*x-y=5;
eq2:= 3*x-5*y = -7;
NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiUtSSNtaUdGJTY5USRlcTFGKC8lJ2ZhbWlseUdRLkx1Y2lkYX5CcmlnaHRGKC8lJXNpemVHUSMxMkYoLyUlYm9sZEdRJmZhbHNlRigvJSdpdGFsaWNHUSV0cnVlRigvJSp1bmRlcmxpbmVHRjgvJSpzdWJzY3JpcHRHRjgvJSxzdXBlcnNjcmlwdEdGOC8lK2ZvcmVncm91bmRHUSpbMCwwLDI1NV1GKC8lK2JhY2tncm91bmRHUShbMCwwLDBdRigvJSdvcGFxdWVHRjgvJStleGVjdXRhYmxlR0Y4LyUpcmVhZG9ubHlHRjsvJSljb21wb3NlZEdGOC8lKmNvbnZlcnRlZEdGOC8lK2ltc2VsZWN0ZWRHRjgvJSxwbGFjZWhvbGRlckdGOC8lMGZvbnRfc3R5bGVfbmFtZUdRKjJEfk91dHB1dEYoLyUqbWF0aGNvbG9yR0ZELyUvbWF0aGJhY2tncm91bmRHRkcvJStmb250ZmFtaWx5R0YyLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGKC8lKW1hdGhzaXplR0Y1LUkjbW9HRiU2M1EjOj1GKC8lJWZvcm1HUSZpbmZpeEYoLyUmZmVuY2VHRjgvJSpzZXBhcmF0b3JHRjgvJSdsc3BhY2VHUS90aGlja21hdGhzcGFjZUYoLyUncnNwYWNlR0ZbcC8lKXN0cmV0Y2h5R0Y4LyUqc3ltbWV0cmljR0Y4LyUobWF4c2l6ZUdRKWluZmluaXR5RigvJShtaW5zaXplR1EiMUYoLyUobGFyZ2VvcEdGOC8lLm1vdmFibGVsaW1pdHNHRjgvJSdhY2NlbnRHRjgvJTBmb250X3N0eWxlX25hbWVHRlgvJSVzaXplR0Y1LyUrZm9yZWdyb3VuZEdGRC8lK2JhY2tncm91bmRHRkctRiQ2JS1GJDYlLUYkNiUtSSNtbkdGJTY5USI3RihGMEYzRjYvRjpGOEY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ24vRmpuUSdub3JtYWxGKEZcby1GX282M1ExJkludmlzaWJsZVRpbWVzO0YoRmJvRmVvRmdvL0Zqb1EkMGVtRigvRl1wRmdyRl5wRmBwRmJwRmVwRmhwRmpwRlxxRl5xRmBxRmJxRmRxLUYtNjlRInhGKEYwRjNGNkY5RjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZpbkZcby1GX282M1EoJm1pbnVzO0YoRmJvRmVvRmdvL0Zqb1EwbWVkaXVtbWF0aHNwYWNlRigvRl1wRmBzRl5wRmBwRmJwRmVwRmhwRmpwRlxxRl5xRmBxRmJxRmRxLUYtNjlRInlGKEYwRjNGNkY5RjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZpbkZcby1GX282M1EiPUYoRmJvRmVvRmdvRmlvRlxwRl5wRmBwRmJwRmVwRmhwRmpwRlxxRl5xRmBxRmJxRmRxLUZdcjY5USI1RihGMEYzRjZGYHJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmFyRlxvNyMtX0YpSSxtcHJpbnRzbGFzaEdGKDYkNyM+SSRlcTFHRigvLCYqJiIiKCIiIkkieEdGKEZndEZndEkieUdGKCEiIiIiJjcjRmN0
NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiUtSSNtaUdGJTY5USRlcTJGKC8lJ2ZhbWlseUdRLkx1Y2lkYX5CcmlnaHRGKC8lJXNpemVHUSMxMkYoLyUlYm9sZEdRJmZhbHNlRigvJSdpdGFsaWNHUSV0cnVlRigvJSp1bmRlcmxpbmVHRjgvJSpzdWJzY3JpcHRHRjgvJSxzdXBlcnNjcmlwdEdGOC8lK2ZvcmVncm91bmRHUSpbMCwwLDI1NV1GKC8lK2JhY2tncm91bmRHUShbMCwwLDBdRigvJSdvcGFxdWVHRjgvJStleGVjdXRhYmxlR0Y4LyUpcmVhZG9ubHlHRjsvJSljb21wb3NlZEdGOC8lKmNvbnZlcnRlZEdGOC8lK2ltc2VsZWN0ZWRHRjgvJSxwbGFjZWhvbGRlckdGOC8lMGZvbnRfc3R5bGVfbmFtZUdRKjJEfk91dHB1dEYoLyUqbWF0aGNvbG9yR0ZELyUvbWF0aGJhY2tncm91bmRHRkcvJStmb250ZmFtaWx5R0YyLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGKC8lKW1hdGhzaXplR0Y1LUkjbW9HRiU2M1EjOj1GKC8lJWZvcm1HUSZpbmZpeEYoLyUmZmVuY2VHRjgvJSpzZXBhcmF0b3JHRjgvJSdsc3BhY2VHUS90aGlja21hdGhzcGFjZUYoLyUncnNwYWNlR0ZbcC8lKXN0cmV0Y2h5R0Y4LyUqc3ltbWV0cmljR0Y4LyUobWF4c2l6ZUdRKWluZmluaXR5RigvJShtaW5zaXplR1EiMUYoLyUobGFyZ2VvcEdGOC8lLm1vdmFibGVsaW1pdHNHRjgvJSdhY2NlbnRHRjgvJTBmb250X3N0eWxlX25hbWVHRlgvJSVzaXplR0Y1LyUrZm9yZWdyb3VuZEdGRC8lK2JhY2tncm91bmRHRkctRiQ2JS1GJDYlLUYkNiUtSSNtbkdGJTY5USIzRihGMEYzRjYvRjpGOEY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ24vRmpuUSdub3JtYWxGKEZcby1GX282M1ExJkludmlzaWJsZVRpbWVzO0YoRmJvRmVvRmdvL0Zqb1EkMGVtRigvRl1wRmdyRl5wRmBwRmJwRmVwRmhwRmpwRlxxRl5xRmBxRmJxRmRxLUYtNjlRInhGKEYwRjNGNkY5RjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZpbkZcby1GX282M1EoJm1pbnVzO0YoRmJvRmVvRmdvL0Zqb1EwbWVkaXVtbWF0aHNwYWNlRigvRl1wRmBzRl5wRmBwRmJwRmVwRmhwRmpwRlxxRl5xRmBxRmJxRmRxLUYkNiUtRl1yNjlRIjVGKEYwRjNGNkZgckY8Rj5GQEZCRkVGSEZKRkxGTkZQRlJGVEZWRllGZW5GZ25GYXJGXG9GY3ItRi02OVEieUYoRjBGM0Y2RjlGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmluRlxvLUZfbzYzUSI9RihGYm9GZW9GZ29GaW9GXHBGXnBGYHBGYnBGZXBGaHBGanBGXHFGXnFGYHFGYnFGZHEtRl1yNjlRKSZtaW51czs3RihGMEYzRjZGYHJGPEY+RkBGQkZFRkhGSkZMRk5GUEZSRlRGVkZZRmVuRmduRmFyRlxvNyMtX0YpSSxtcHJpbnRzbGFzaEdGKDYkNyM+SSRlcTJHRigvLCYqJiIiJCIiIkkieEdGKEZcdUZcdSomIiImRlx1SSJ5R0YoRlx1ISIiISIoNyNGaHQ=
solve(eq1,x),solve(eq2,y);
NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiUtRiQ2JS1GJDYlLUkmbWZyYWNHRiU2Ki1JI21uR0YlNjlRIjFGKC8lJ2ZhbWlseUdRLkx1Y2lkYX5CcmlnaHRGKC8lJXNpemVHUSMxMkYoLyUlYm9sZEdRJmZhbHNlRigvJSdpdGFsaWNHRj8vJSp1bmRlcmxpbmVHRj8vJSpzdWJzY3JpcHRHRj8vJSxzdXBlcnNjcmlwdEdGPy8lK2ZvcmVncm91bmRHUSpbMCwwLDI1NV1GKC8lK2JhY2tncm91bmRHUShbMCwwLDBdRigvJSdvcGFxdWVHRj8vJStleGVjdXRhYmxlR0Y/LyUpcmVhZG9ubHlHUSV0cnVlRigvJSljb21wb3NlZEdGPy8lKmNvbnZlcnRlZEdGPy8lK2ltc2VsZWN0ZWRHRj8vJSxwbGFjZWhvbGRlckdGPy8lMGZvbnRfc3R5bGVfbmFtZUdRKjJEfk91dHB1dEYoLyUqbWF0aGNvbG9yR0ZKLyUvbWF0aGJhY2tncm91bmRHRk0vJStmb250ZmFtaWx5R0Y5LyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGKC8lKW1hdGhzaXplR0Y8LUY0NjlRIjdGKEY3RjpGPUZARkJGREZGRkhGS0ZORlBGUkZVRldGWUZlbkZnbkZqbkZcb0Zeb0Zgb0Zjby8lLmxpbmV0aGlja25lc3NHUSIxRigvJStkZW5vbWFsaWduR1EnY2VudGVyRigvJSludW1hbGlnbkdGXXAvJSliZXZlbGxlZEdGPy8lK2ZvcmVncm91bmRHRkovJStiYWNrZ3JvdW5kR0ZNLUkjbW9HRiU2M1ExJkludmlzaWJsZVRpbWVzO0YoLyUlZm9ybUdRJmluZml4RigvJSZmZW5jZUdGPy8lKnNlcGFyYXRvckdGPy8lJ2xzcGFjZUdRJDBlbUYoLyUncnNwYWNlR0ZjcS8lKXN0cmV0Y2h5R0Y/LyUqc3ltbWV0cmljR0Y/LyUobWF4c2l6ZUdRKWluZmluaXR5RigvJShtaW5zaXplR0Y2LyUobGFyZ2VvcEdGPy8lLm1vdmFibGVsaW1pdHNHRj8vJSdhY2NlbnRHRj8vJTBmb250X3N0eWxlX25hbWVHRmluLyUlc2l6ZUdGPEZicEZkcC1GJDYjLUkjbWlHRiU2OVEieUYoRjdGOkY9L0ZBRlRGQkZERkZGSEZLRk5GUEZSRlVGV0ZZRmVuRmduRmpuRlxvRl5vL0Zhb1EnaXRhbGljRihGY28tRmdwNjNRIitGKEZqcEZdcUZfcS9GYnFRMG1lZGl1bW1hdGhzcGFjZUYoL0ZlcUZmc0ZmcUZocUZqcUZdckZfckZhckZjckZlckZnckZicEZkcC1GMTYqLUY0NjlRIjVGKEY3RjpGPUZARkJGREZGRkhGS0ZORlBGUkZVRldGWUZlbkZnbkZqbkZcb0Zeb0Zgb0Zjb0Zlb0Zob0ZbcEZecEZgcEZicEZkcC1GZ3A2M1EiLEYoRmpwRl1xL0ZgcUZURmFxL0ZlcVEzdmVyeXRoaWNrbWF0aHNwYWNlRihGZnFGaHFGanFGXXJGX3JGYXJGY3JGZXJGZ3JGYnBGZHAtRiQ2JS1GJDYlLUYxNiotRjQ2OVEiM0YoRjdGOkY9RkBGQkZERkZGSEZLRk5GUEZSRlVGV0ZZRmVuRmduRmpuRlxvRl5vRmBvRmNvRmpzRmhvRltwRl5wRmBwRmJwRmRwRmZwLUYkNiMtRlxzNjlRInhGKEY3RjpGPUZfc0ZCRkRGRkZIRktGTkZQRlJGVUZXRllGZW5GZ25Gam5GXG9GXm9GYHNGY29GYnMtRjE2KkZlb0Zqc0Zob0ZbcEZecEZgcEZicEZkcDcjNiQsJiomIyIiIiIiKEZodUkieUdGKEZodUZodSMiIiZGaXVGaHUsJiomIyIiJEZcdkZodUkieEdGKEZodUZodSNGaXVGXHZGaHU=
Here's a procedure:
nextJacobiPoint:=proc(pair0,eqn1, eqn2)
local x1,y1:
x1:=evalf(eval(solve(eq1,x),y=pair0[2])):
y1 := evalf(eval(solve(eq2,y),x=pair0[1])):
[x1,y1]:
end proc:
The procedure seems to work if pair0 contains integers. I don't know how to interpret result otherwise.
nextJacobiPoint([5/7,0],eq1,eq2);
NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiUtSSNtb0dGJTYzUSJbRigvJSVmb3JtR1EncHJlZml4RigvJSZmZW5jZUdRJXRydWVGKC8lKnNlcGFyYXRvckdRJmZhbHNlRigvJSdsc3BhY2VHUS50aGlubWF0aHNwYWNlRigvJSdyc3BhY2VHRjsvJSlzdHJldGNoeUdGNS8lKnN5bW1ldHJpY0dGOC8lKG1heHNpemVHUSlpbmZpbml0eUYoLyUobWluc2l6ZUdRIjFGKC8lKGxhcmdlb3BHRjgvJS5tb3ZhYmxlbGltaXRzR0Y4LyUnYWNjZW50R0Y4LyUwZm9udF9zdHlsZV9uYW1lR1EqMkR+T3V0cHV0RigvJSVzaXplR1EjMTJGKC8lK2ZvcmVncm91bmRHUSpbMCwwLDI1NV1GKC8lK2JhY2tncm91bmRHUShbMCwwLDBdRigtRiQ2JS1JI21uR0YlNjlRLTAuNzE0Mjg1NzE0M0YoLyUnZmFtaWx5R1EuTHVjaWRhfkJyaWdodEYoLyUlc2l6ZUdGUy8lJWJvbGRHRjgvJSdpdGFsaWNHRjgvJSp1bmRlcmxpbmVHRjgvJSpzdWJzY3JpcHRHRjgvJSxzdXBlcnNjcmlwdEdGOC8lK2ZvcmVncm91bmRHRlYvJStiYWNrZ3JvdW5kR0ZZLyUnb3BhcXVlR0Y4LyUrZXhlY3V0YWJsZUdGOC8lKXJlYWRvbmx5R0Y1LyUpY29tcG9zZWRHRjgvJSpjb252ZXJ0ZWRHRjgvJStpbXNlbGVjdGVkR0Y4LyUscGxhY2Vob2xkZXJHRjgvJTBmb250X3N0eWxlX25hbWVHRlAvJSptYXRoY29sb3JHRlYvJS9tYXRoYmFja2dyb3VuZEdGWS8lK2ZvbnRmYW1pbHlHRlxvLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGKC8lKW1hdGhzaXplR0ZTLUYtNjNRIixGKC9GMVEmaW5maXhGKC9GNEY4L0Y3RjUvRjpRJDBlbUYoL0Y9UTN2ZXJ5dGhpY2ttYXRoc3BhY2VGKC9GP0Y4RkBGQkZFRkhGSkZMRk5GUUZURlctRmduNjlRLDEuODI4NTcxNDI5RihGam5GXW9GX29GYW9GY29GZW9GZ29GaW9GW3BGXXBGX3BGYXBGY3BGZXBGZ3BGaXBGW3FGXXFGX3FGYXFGY3FGZnEtRi02M1EiXUYoL0YxUShwb3N0Zml4RihGM0Y2RjkvRj1RMnZlcnl0aGlubWF0aHNwYWNlRihGPkZARkJGRUZIRkpGTEZORlFGVEZXNyM3JCQiK1ZyJkc5KCEjNSQiK0g5ZEc9ISIq
NextPoint := nextJacobiPoint([0,0],eq1,eq2);
NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiUtSSNtaUdGJTY5USpOZXh0UG9pbnRGKC8lJ2ZhbWlseUdRLkx1Y2lkYX5CcmlnaHRGKC8lJXNpemVHUSMxMkYoLyUlYm9sZEdRJmZhbHNlRigvJSdpdGFsaWNHUSV0cnVlRigvJSp1bmRlcmxpbmVHRjgvJSpzdWJzY3JpcHRHRjgvJSxzdXBlcnNjcmlwdEdGOC8lK2ZvcmVncm91bmRHUSpbMCwwLDI1NV1GKC8lK2JhY2tncm91bmRHUShbMCwwLDBdRigvJSdvcGFxdWVHRjgvJStleGVjdXRhYmxlR0Y4LyUpcmVhZG9ubHlHRjsvJSljb21wb3NlZEdGOC8lKmNvbnZlcnRlZEdGOC8lK2ltc2VsZWN0ZWRHRjgvJSxwbGFjZWhvbGRlckdGOC8lMGZvbnRfc3R5bGVfbmFtZUdRKjJEfk91dHB1dEYoLyUqbWF0aGNvbG9yR0ZELyUvbWF0aGJhY2tncm91bmRHRkcvJStmb250ZmFtaWx5R0YyLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGKC8lKW1hdGhzaXplR0Y1LUkjbW9HRiU2M1EjOj1GKC8lJWZvcm1HUSZpbmZpeEYoLyUmZmVuY2VHRjgvJSpzZXBhcmF0b3JHRjgvJSdsc3BhY2VHUS90aGlja21hdGhzcGFjZUYoLyUncnNwYWNlR0ZbcC8lKXN0cmV0Y2h5R0Y4LyUqc3ltbWV0cmljR0Y4LyUobWF4c2l6ZUdRKWluZmluaXR5RigvJShtaW5zaXplR1EiMUYoLyUobGFyZ2VvcEdGOC8lLm1vdmFibGVsaW1pdHNHRjgvJSdhY2NlbnRHRjgvJTBmb250X3N0eWxlX25hbWVHRlgvJSVzaXplR0Y1LyUrZm9yZWdyb3VuZEdGRC8lK2JhY2tncm91bmRHRkctRiQ2JS1GX282M1EiW0YoL0Zjb1EncHJlZml4RigvRmZvRjtGZ28vRmpvUS50aGlubWF0aHNwYWNlRigvRl1wRl9yL0ZfcEY7RmBwRmJwRmVwRmhwRmpwRlxxRl5xRmBxRmJxRmRxLUYkNiUtSSNtbkdGJTY5US0wLjcxNDI4NTcxNDNGKEYwRjNGNi9GOkY4RjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbi9Gam5RJ25vcm1hbEYoRlxvLUZfbzYzUSIsRihGYm9GZW8vRmhvRjsvRmpvUSQwZW1GKC9GXXBRM3Zlcnl0aGlja21hdGhzcGFjZUYoRl5wRmBwRmJwRmVwRmhwRmpwRlxxRl5xRmBxRmJxRmRxLUZlcjY5USwxLjQwMDAwMDAwMEYoRjBGM0Y2RmhyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZpckZcby1GX282M1EiXUYoL0Zjb1EocG9zdGZpeEYoRl1yRmdvRl5yL0ZdcFEydmVyeXRoaW5tYXRoc3BhY2VGKEZhckZgcEZicEZlcEZocEZqcEZccUZecUZgcUZicUZkcTcjLV9GKUksbXByaW50c2xhc2hHRig2JDcjPkkqTmV4dFBvaW50R0YoNyQkIitWciZHOSghIzUkIisrKysrOSEiKjcjRmV0
NextPoint := nextJacobiPoint(NextPoint,eq1,eq2);
NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiUtSSNtaUdGJTY5USpOZXh0UG9pbnRGKC8lJ2ZhbWlseUdRLkx1Y2lkYX5CcmlnaHRGKC8lJXNpemVHUSMxMkYoLyUlYm9sZEdRJmZhbHNlRigvJSdpdGFsaWNHUSV0cnVlRigvJSp1bmRlcmxpbmVHRjgvJSpzdWJzY3JpcHRHRjgvJSxzdXBlcnNjcmlwdEdGOC8lK2ZvcmVncm91bmRHUSpbMCwwLDI1NV1GKC8lK2JhY2tncm91bmRHUShbMCwwLDBdRigvJSdvcGFxdWVHRjgvJStleGVjdXRhYmxlR0Y4LyUpcmVhZG9ubHlHRjsvJSljb21wb3NlZEdGOC8lKmNvbnZlcnRlZEdGOC8lK2ltc2VsZWN0ZWRHRjgvJSxwbGFjZWhvbGRlckdGOC8lMGZvbnRfc3R5bGVfbmFtZUdRKjJEfk91dHB1dEYoLyUqbWF0aGNvbG9yR0ZELyUvbWF0aGJhY2tncm91bmRHRkcvJStmb250ZmFtaWx5R0YyLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGKC8lKW1hdGhzaXplR0Y1LUkjbW9HRiU2M1EjOj1GKC8lJWZvcm1HUSZpbmZpeEYoLyUmZmVuY2VHRjgvJSpzZXBhcmF0b3JHRjgvJSdsc3BhY2VHUS90aGlja21hdGhzcGFjZUYoLyUncnNwYWNlR0ZbcC8lKXN0cmV0Y2h5R0Y4LyUqc3ltbWV0cmljR0Y4LyUobWF4c2l6ZUdRKWluZmluaXR5RigvJShtaW5zaXplR1EiMUYoLyUobGFyZ2VvcEdGOC8lLm1vdmFibGVsaW1pdHNHRjgvJSdhY2NlbnRHRjgvJTBmb250X3N0eWxlX25hbWVHRlgvJSVzaXplR0Y1LyUrZm9yZWdyb3VuZEdGRC8lK2JhY2tncm91bmRHRkctRiQ2JS1GX282M1EiW0YoL0Zjb1EncHJlZml4RigvRmZvRjtGZ28vRmpvUS50aGlubWF0aHNwYWNlRigvRl1wRl9yL0ZfcEY7RmBwRmJwRmVwRmhwRmpwRlxxRl5xRmBxRmJxRmRxLUYkNiUtSSNtbkdGJTY5US0wLjkxNDI4NTcxNDNGKEYwRjNGNi9GOkY4RjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbi9Gam5RJ25vcm1hbEYoRlxvLUZfbzYzUSIsRihGYm9GZW8vRmhvRjsvRmpvUSQwZW1GKC9GXXBRM3Zlcnl0aGlja21hdGhzcGFjZUYoRl5wRmBwRmJwRmVwRmhwRmpwRlxxRl5xRmBxRmJxRmRxLUZlcjY5USwxLjgyODU3MTQyOUYoRjBGM0Y2RmhyRjxGPkZARkJGRUZIRkpGTEZORlBGUkZURlZGWUZlbkZnbkZpckZcby1GX282M1EiXUYoL0Zjb1EocG9zdGZpeEYoRl1yRmdvRl5yL0ZdcFEydmVyeXRoaW5tYXRoc3BhY2VGKEZhckZgcEZicEZlcEZocEZqcEZccUZecUZgcUZicUZkcTcjLV9GKUksbXByaW50c2xhc2hHRig2JDcjPkkqTmV4dFBvaW50R0YoNyQkIitWciZHOSohIzUkIitIOWRHPSEiKjcjRmV0
The following block should generate points, which could then be plotted.
listofpoints:=[[27,-13]]:
for n from 1 to 10
do nextJacobiPoint(listofpoints[n],eq1,eq2):
listofpoints:=[op(listofpoints),%]:
end do:
listofpoints;
NiQtSSVtcm93RzYjL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHSShfc3lzbGliR0YoNiUtSSNtb0dGJTYzUSJbRigvJSVmb3JtR1EncHJlZml4RigvJSZmZW5jZUdRJXRydWVGKC8lKnNlcGFyYXRvckdRJmZhbHNlRigvJSdsc3BhY2VHUS50aGlubWF0aHNwYWNlRigvJSdyc3BhY2VHRjsvJSlzdHJldGNoeUdGNS8lKnN5bW1ldHJpY0dGOC8lKG1heHNpemVHUSlpbmZpbml0eUYoLyUobWluc2l6ZUdRIjFGKC8lKGxhcmdlb3BHRjgvJS5tb3ZhYmxlbGltaXRzR0Y4LyUnYWNjZW50R0Y4LyUwZm9udF9zdHlsZV9uYW1lR1EqMkR+T3V0cHV0RigvJSVzaXplR1EjMTJGKC8lK2ZvcmVncm91bmRHUSpbMCwwLDI1NV1GKC8lK2JhY2tncm91bmRHUShbMCwwLDBdRigtRiQ2Ny1GJDYlRiwtRiQ2JS1JI21uR0YlNjlRIzI3RigvJSdmYW1pbHlHUS5MdWNpZGF+QnJpZ2h0RigvJSVzaXplR0ZTLyUlYm9sZEdGOC8lJ2l0YWxpY0dGOC8lKnVuZGVybGluZUdGOC8lKnN1YnNjcmlwdEdGOC8lLHN1cGVyc2NyaXB0R0Y4LyUrZm9yZWdyb3VuZEdGVi8lK2JhY2tncm91bmRHRlkvJSdvcGFxdWVHRjgvJStleGVjdXRhYmxlR0Y4LyUpcmVhZG9ubHlHRjUvJSljb21wb3NlZEdGOC8lKmNvbnZlcnRlZEdGOC8lK2ltc2VsZWN0ZWRHRjgvJSxwbGFjZWhvbGRlckdGOC8lMGZvbnRfc3R5bGVfbmFtZUdGUC8lKm1hdGhjb2xvckdGVi8lL21hdGhiYWNrZ3JvdW5kR0ZZLyUrZm9udGZhbWlseUdGYG8vJSxtYXRodmFyaWFudEdRJ25vcm1hbEYoLyUpbWF0aHNpemVHRlMtRi02M1EiLEYoL0YxUSZpbmZpeEYoL0Y0RjgvRjdGNS9GOlEkMGVtRigvRj1RM3Zlcnl0aGlja21hdGhzcGFjZUYoL0Y/RjhGQEZCRkVGSEZKRkxGTkZRRlRGVy1GW282OVEqJm1pbnVzOzEzRihGXm9GYW9GY29GZW9GZ29GaW9GW3BGXXBGX3BGYXBGY3BGZXBGZ3BGaXBGW3FGXXFGX3FGYXFGY3FGZXFGZ3FGanEtRi02M1EiXUYoL0YxUShwb3N0Zml4RihGM0Y2RjkvRj1RMnZlcnl0aGlubWF0aHNwYWNlRihGPkZARkJGRUZIRkpGTEZORlFGVEZXRlxyLUYkNiVGLC1GJDYlLUZbbzY5UTUmdW1pbnVzMDsxLjE0Mjg1NzE0M0YoRl5vRmFvRmNvRmVvRmdvRmlvRltwRl1wRl9wRmFwRmNwRmVwRmdwRmlwRltxRl1xRl9xRmFxRmNxRmVxRmdxRmpxRlxyLUZbbzY5USwxNy42MDAwMDAwMEYoRl5vRmFvRmNvRmVvRmdvRmlvRltwRl1wRl9wRmFwRmNwRmVwRmdwRmlwRltxRl1xRl9xRmFxRmNxRmVxRmdxRmpxRltzRlxyLUYkNiVGLC1GJDYlLUZbbzY5USwzLjIyODU3MTQyOEYoRl5vRmFvRmNvRmVvRmdvRmlvRltwRl1wRl9wRmFwRmNwRmVwRmdwRmlwRltxRl1xRl9xRmFxRmNxRmVxRmdxRmpxRlxyLUZbbzY5US0wLjcxNDI4NTcxNDJGKEZeb0Zhb0Zjb0Zlb0Znb0Zpb0ZbcEZdcEZfcEZhcEZjcEZlcEZncEZpcEZbcUZdcUZfcUZhcUZjcUZlcUZncUZqcUZbc0Zcci1GJDYlRiwtRiQ2JS1GW282OVEtMC44MTYzMjY1MzA2RihGXm9GYW9GY29GZW9GZ29GaW9GW3BGXXBGX3BGYXBGY3BGZXBGZ3BGaXBGW3FGXXFGX3FGYXFGY3FGZXFGZ3FGanFGXHItRltvNjlRLDMuMzM3MTQyODU3RihGXm9GYW9GY29GZW9GZ29GaW9GW3BGXXBGX3BGYXBGY3BGZXBGZ3BGaXBGW3FGXXFGX3FGYXFGY3FGZXFGZ3FGanFGW3NGXHItRiQ2JUYsLUYkNiUtRltvNjlRLDEuMTkxMDIwNDA4RihGXm9GYW9GY29GZW9GZ29GaW9GW3BGXXBGX3BGYXBGY3BGZXBGZ3BGaXBGW3FGXXFGX3FGYXFGY3FGZXFGZ3FGanFGXHItRltvNjlRLDEuODg5Nzk1OTE4RihGXm9GYW9GY29GZW9GZ29GaW9GW3BGXXBGX3BGYXBGY3BGZXBGZ3BGaXBGW3FGXXFGX3FGYXFGY3FGZXFGZ3FGanFGW3NGXHItRiQ2JUYsLUYkNiUtRltvNjlRLTAuOTg0MjU2NTU5N0YoRl5vRmFvRmNvRmVvRmdvRmlvRltwRl1wRl9wRmFwRmNwRmVwRmdwRmlwRltxRl1xRl9xRmFxRmNxRmVxRmdxRmpxRlxyLUZbbzY5USwyLjExNDYxMjI0NUYoRl5vRmFvRmNvRmVvRmdvRmlvRltwRl1wRl9wRmFwRmNwRmVwRmdwRmlwRltxRl1xRl9xRmFxRmNxRmVxRmdxRmpxRltzRlxyLUYkNiVGLC1GJDYlLUZbbzY5USwxLjAxNjM3MzE3OEYoRl5vRmFvRmNvRmVvRmdvRmlvRltwRl1wRl9wRmFwRmNwRmVwRmdwRmlwRltxRl1xRl9xRmFxRmNxRmVxRmdxRmpxRlxyLUZbbzY5USwxLjk5MDU1MzkzNkYoRl5vRmFvRmNvRmVvRmdvRmlvRltwRl1wRl9wRmFwRmNwRmVwRmdwRmlwRltxRl1xRl9xRmFxRmNxRmVxRmdxRmpxRltzRlxyLUYkNiVGLC1GJDYlLUZbbzY5US0wLjk5ODY1MDU2MjNGKEZeb0Zhb0Zjb0Zlb0Znb0Zpb0ZbcEZdcEZfcEZhcEZjcEZlcEZncEZpcEZbcUZdcUZfcUZhcUZjcUZlcUZncUZqcUZcci1GW282OVEsMi4wMDk4MjM5MDdGKEZeb0Zhb0Zjb0Zlb0Znb0Zpb0ZbcEZdcEZfcEZhcEZjcEZlcEZncEZpcEZbcUZdcUZfcUZhcUZjcUZlcUZncUZqcUZbc0Zcci1GJDYlRiwtRiQ2JS1GW282OVEsMS4wMDE0MDM0MTVGKEZeb0Zhb0Zjb0Zlb0Znb0Zpb0ZbcEZdcEZfcEZhcEZjcEZlcEZncEZpcEZbcUZdcUZfcUZhcUZjcUZlcUZncUZqcUZcci1GW282OVEsMS45OTkxOTAzMzdGKEZeb0Zhb0Zjb0Zlb0Znb0Zpb0ZbcEZdcEZfcEZhcEZjcEZlcEZncEZpcEZbcUZdcUZfcUZhcUZjcUZlcUZncUZqcUZbc0Zcci1GJDYlRiwtRiQ2JS1GW282OVEtMC45OTk4ODQzMzM5RihGXm9GYW9GY29GZW9GZ29GaW9GW3BGXXBGX3BGYXBGY3BGZXBGZ3BGaXBGW3FGXXFGX3FGYXFGY3FGZXFGZ3FGanFGXHItRltvNjlRLDIuMDAwODQyMDQ5RihGXm9GYW9GY29GZW9GZ29GaW9GW3BGXXBGX3BGYXBGY3BGZXBGZ3BGaXBGW3FGXXFGX3FGYXFGY3FGZXFGZ3FGanFGW3NGXHItRiQ2JUYsLUYkNiUtRltvNjlRLDEuMDAwMTIwMjkzRihGXm9GYW9GY29GZW9GZ29GaW9GW3BGXXBGX3BGYXBGY3BGZXBGZ3BGaXBGW3FGXXFGX3FGYXFGY3FGZXFGZ3FGanFGXHItRltvNjlRLDEuOTk5OTMwNjAwRihGXm9GYW9GY29GZW9GZ29GaW9GW3BGXXBGX3BGYXBGY3BGZXBGZ3BGaXBGW3FGXXFGX3FGYXFGY3FGZXFGZ3FGanFGW3NGW3M3IzctNyQiI0YhIzg3JCQhK1ZyJkc5IiEiKiQiKysrK2c8ISIpNyQkIitHOWRHS0ZeeiQiK1VyJkc5KCEjNTckJCIrMWBFaiIpRmd6JCIrZEc5UExGXno3JCQiKzMvLSI+IkZeeiQiKz1meiopPUZeejckJCIrKGZsRCUpKkZneiQiK1hBaDlARl56NyQkIit5SlA7NUZeeiQiK09SYiEqPkZeejckJCIrQmNdJykqKkZneiQiKzJSIyk0P0ZeejckJCIrOk1TLDVGXnokIitQLj4qKj5GXno3JCQiK1JMJSkpKioqRmd6JCIrXD8lMysjRl56NyQkIiskSD8sKyJGXnokIisrMSQqKio+Rl56
PointList := pointplot(listofpoints, connect=true,linestyle=DASH):
LineList := plot({solve(eq1,y),solve(eq2,y)},x=-5..5):
display({PointList, LineList});
NictSSdDVVJWRVNHNiQlKnByb3RlY3RlZEdJKF9zeXNsaWJHNiI2JDdTNyQkISImIiIhJCEzMysrKysrKys7ISM8NyQkITNYTExMZSVHP3klRjEkITMpKioqKioqXDI8I3A5RjE3JCQhM09tbVQmZXNCZiVGMSQhMyIqKioqXDdiQmFOIkYxNyQkITNATEwkM3MlM3pWRjEkITN3KioqKlxLM1hGN0YxNyQkITNeTEwkZS8kUWtURjEkITMjKioqKipcRilIJyk0IkYxNyQkITNvbW1UNT1xXVJGMSQhMzQrK11pM0AvKCohIz03JCQhM0hMTDNfPmZfUEYxJCEzKXoqKipcNzxiOiYpRks3JCQhM0srK3ZvMVlaTkYxJCEzOysrXTdTdyVHKEZLNyQkITM7TEwzLU9KTkxGMSQhM3YrK103Oyk9LCdGSzckJCEzbyoqKlxQKm8lUTckRjEkITMrKioqKlxpODNWWkZLNyQkITNLbW1tIlJGaiFIRjEkITMqeSoqKioqXFYnelYkRks3JCQhMzNMTCRlNE9aciNGMSQhM14pKioqKlxkOyUpRyNGSzckJCEzdSoqKioqXG5cISpcI0YxJCEzQSkqKioqKipcISlIJSoqISM+NyQkITMlKSoqKioqXGl4Q0cjRjEkIjNTNCsrK0RNXklGaW83JCQhMyIqKioqKipcS3FQMiNGMSQiMzIrKytdIXl0YiJGSzckJCEzOUxMMy1UQyUpPUYxJCIzNSwrXShRTlhwI0ZLNyQkITNabW1tIjR6KWU7RjEkIjNdKysrXWFzWVNGSzckJCEzTG1tbW1gJ3pZIkYxJCIzZSwrKyt5PyM+JkZLNyQkITMjKioqKlwoPXQpZUMiRjEkIjMkKSoqKipcKDN3WV8nRks3JCQhMyFvbW1taDUkXDVGMSQiM1wpKioqKioqSE9UcShGSzckJCEzUyQqKipcKD1bakwpRkskIjN1LitdKDMiPikqKilGSzckJCEzKWYqKipcaVhnI0cnRkskIjMxKytERVAvQjVGMTckJCEzbWRtbVQmUShSVEZLJCIzYSsrXShvOjs6IkYxNyQkITMkXG1tVGc9PjwjRkskIjM1Kyt2JClbb3A3RjE3JCQhM3VETUxMZSplJFwhIz8kIjMlKSoqKipcaSVRcVIiRjE3JCQiM3pybTt6UlFiQEZLJCIzSSsrdlFJS0g6RjE3JCQiM14sK10oPT5ZMiVGSyQiMy8rK0ReclpXO0YxNyQkIjNydW1tInpYdTknRkskIjNbKytdWm4lKW88RjE3JCQiMyM0KysrXXkpKUcpRkskIjMjKioqKioqKjRGTCgqPUYxNyQkIjNIKytdaV9RUTVGMSQiMz0rK11kNi5CP0YxNyQkIjNhKytEInklM1Q3RjEkIjNLKyt2bzNsV0BGMTckJCIzKysrXVAhW2hZIkYxJCIzIykqKioqXEEpKW96QUYxNyQkIjNpS0xMJFF4JG87RjEkIjNcKioqKioqSGstLENGMTckJCIzWSsrK3YuSSUpPUYxJCIzWSsrK0QtZUlERjE3JCQiMz9tbSJ6cGUqej9GMSQiM2sqKipcKD1fKHprI0YxNyQkIjM7LCsrRFwnUUgjRjEkIjNxKysrYio9angjRjE3JCQiMyVITCRlOVM4JlwjRjEkIjMlKioqKlwoMy8zKCpHRjE3JCQiM3MrK0QxIz1icSNGMSQiM1YrK3ZCNEpCSUYxNyQkIjMiSExMJDNzPzZIRjEkIjNsKioqKipcS0NuOSRGMTckJCIzYSoqKlw3YFdsNyRGMSQiM2oqKipcKD1uI2ZGJEYxNyQkIjNlbm1tbSpSUkwkRjEkIjNIKysrISlSTytNRjE3JCQiMyR6bW1UdkpnYSRGMSQiM1MrK11fIT53XyRGMTckJCIzXU1MZTl0T2NQRjEkIjNxKyt2KVE/UWwkRjE3JCQiMzEsKytdUWtcUkYxJCIzaysrKzVqeXBQRjE3JCQiM3pNTCQzZGc2PCVGMSQiM2ArK11VanAtUkYxNyQkIjMleW1tbXcoR3BWRjEkIjNOKysrZ0VkQFNGMTckJCIzQisrRCJvSzBlJUYxJCIzXSsrdjMnPiRbVEYxNyQkIjM1LCt2PTVzI3klRjEkIjNbKytENkVqcFVGMTckJCIiJkYuJCIzTSsrKysrKytXRjEtSSdDT0xPVVJHRiU2JkkkUkdCR0YlJCIjNSEiIiRGLkYuRmZbbC1GJDYkN1M3JEYsJCEjU0YuNyRGMyQhMzpMTCQzIyo+dSVRISM7NyRGOCQhMz9tO3o0M205UEZgXGw3JEY9JCEzRUxMZS8kZmBjJEZgXGw3JEZCJCEzYkxMM0sib11UJEZgXGw3JEZHJCEzZm07SG43XGxLRmBcbDckRk0kITNXTCRla085bzckRmBcbDckRlIkITNUK103b0NBJClIRmBcbDckRlckITNNTCRlOV8+WiRHRmBcbDckRmZuJCEzKCkqKlxpREdwJ28jRmBcbDckRltvJCEzZ21tO3UiSFdgI0ZgXGw3JEZgbyQhMy5MTDNuX0orQ0ZgXGw3JEZlbyQhMycqKioqKlxzWkxcQUZgXGw3JEZbcCQhM28qKioqXFBWdCg0I0ZgXGw3JEZgcCQhMzcrK11GI1I7Jj5GYFxsNyRGZXAkITNETCRlOSgzKCo9PUZgXGw3JEZqcCQhM2VtbTtrYEBoO0ZgXGw3JEZfcSQhM1ZtbW1jZGRGOkZgXGw3JEZkcSQhMyEqKipcN0I2N3M4RmBcbDckRmlxJCEzIm9tbTtWPFhCIkZgXGw3JEZeciQhM2EqKlw3dFZhJDMiRmBcbDckRmNyJCEzSScqKlxQPkJ5UipGMTckRmhyJCEzT2dtO3pwInkqeUYxNyRGXXMkITNYbG0iSC1WLl8nRjE3JEZicyQhMylSTEwzRl5YLiZGMTckRmhzJCEzdUhMZTk3QiJcJEYxNyRGXXQkITMlKikqKlwob2x3WkBGMTckRmJ0JCEzL3hLTGUlenkncEZLNyRGZ3QkIjNbMSsrKyZcQC0pRks3JEZcdSQiMzEtK11Qb3BvQUYxNyRGYXUkIjMiUStdKG9NZihvJEYxNyRGZnUkIjMrKytdaWkual9GMTckRlt2JCIzU0dMTCRvVCd5bUYxNyRGYHYkIjNHLisrREU1IT4pRjE3JEZldiQiM1pqbVQmKTNyZiYqRjE3JEZqdiQiMyMzKyt2VzBkNSJGYFxsNyRGX3ckIjM6TCQzLSJRZlk3RmBcbDckRmR3JCIzVStdUFdGJ1FSIkZgXGw3JEZpdyQiMyVITExlL1h5YCJGYFxsNyRGXngkIjMnKSoqXCg9PCJlKW8iRmBcbDckRmN4JCIzOW5tbXd6dkw9RmBcbDckRmh4JCIzUW5tInpBQUEpPkZgXGw3JEZdeSQiMylSTDMtN2QlSEBGYFxsNyRGYnkkIjN2KysrJnBdWkUjRmBcbDckRmd5JCIzPU1MZSpSNyk+Q0ZgXGw3JEZceiQiM25ubW1POV1lREZgXGw3JEZheiQiM00rXShvKEdQMUZGYFxsNyRGZnokIjNnK103OFoheiVHRmBcbDckRltbbCQiI0lGLi1GYFtsNiZGYltsRmZbbEZjW2xGZltsLUYkNiQ3LTckJCIjRkYuJCEjOEYuNyQkIStWciZHOSIhIiokIisrKytnPCEiKTckJCIrRzlkR0tGW2ZsJCIrVXImRzkoISM1NyQkIisxYEVqIilGZGZsJCIrZEc5UExGW2ZsNyQkIiszLy0iPiJGW2ZsJCIrPWZ6Kik9RltmbDckJCIrKGZsRCUpKkZkZmwkIitYQWg5QEZbZmw3JCQiK3lKUDs1RltmbCQiK09SYiEqPkZbZmw3JCQiK0JjXScpKipGZGZsJCIrMlIjKTQ/RltmbDckJCIrOk1TLDVGW2ZsJCIrUC4+Kio+RltmbDckJCIrUkwlKSkqKipGZGZsJCIrXD8lMysjRltmbDckJCIrJEg/LCsiRltmbCQiKysxJCoqKj5GW2ZsLUkqTElORVNUWUxFR0YoNiMiIiQtSStBWEVTTEFCRUxTR0YlNiRRInhGKFEhRigtSSVWSUVXR0YlNiQ7RixGW1tsSShERUZBVUxUR0Yl
LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2OVEhRicvJSdmYW1pbHlHUS5MdWNpZGF+QnJpZ2h0RicvJSVzaXplR1EjMTJGJy8lJWJvbGRHUSZmYWxzZUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUqdW5kZXJsaW5lR0Y3LyUqc3Vic2NyaXB0R0Y3LyUsc3VwZXJzY3JpcHRHRjcvJStmb3JlZ3JvdW5kR1EoWzAsMCwwXUYnLyUrYmFja2dyb3VuZEdRLlsyNTUsMjU1LDI1NV1GJy8lJ29wYXF1ZUdGNy8lK2V4ZWN1dGFibGVHRjovJSlyZWFkb25seUdGNy8lKWNvbXBvc2VkR0Y3LyUqY29udmVydGVkR0Y3LyUraW1zZWxlY3RlZEdGNy8lLHBsYWNlaG9sZGVyR0Y3LyUwZm9udF9zdHlsZV9uYW1lR1EpMkR+SW5wdXRGJy8lKm1hdGhjb2xvckdGQy8lL21hdGhiYWNrZ3JvdW5kR0ZGLyUrZm9udGZhbWlseUdGMS8lLG1hdGh2YXJpYW50R1EnaXRhbGljRicvJSltYXRoc2l6ZUdGNA==