wsc810 发表于 2011-12-7 13:22:38

Mathematica达人帮忙了,有关pell方程

本帖最后由 wsc810 于 2011-12-7 16:48 编辑

设$\sqrt{d}$所得近似分数依次为${p_0/q_0,p_1/q_1,p_2/q_2,...,x_0/y_0,\sqrt{d}}$

在pell方程中,有$x_0^2-dy_0^2=+-1$

怎样写mathematica语句 ,求出

$ w=(p_nq_{n-1}+p_{n-1}q_n)*y_0-2x_0q_nq_{n-1}$            $(1)$
的值

即需要取出每个近似分数的分子和分母

看似该式子很复杂,其实得到数不会很大(大概不超过$y_0$,而且有正负交替,对称的性质),

对于$\sqrt{113}$   ,   $(1)$ 式 前几个$w$的值为$-19,35,-41,55$编程时可以校验以下

mathematica 发表于 2011-12-7 15:51:21

Reduce

mathematica 发表于 2011-12-7 16:04:15

Reduce

(x == 8 && y == 3) || (x == 127 && y == 48) || (x == 2024 &&
   y == 765) || (x == 32257 && y == 12192) || (x == 514088 &&
   y == 194307)

wsc810 发表于 2011-12-7 16:37:09

3# mathematica

我要的是w的值

wsc810 发表于 2011-12-8 09:30:29

wayne可以帮帮我吗

wayne 发表于 2011-12-8 09:52:46

5# wsc810
近似分数用Convergents,分子用Numerator,分母 用 Denominator
自己正好练习一下Mathematica

wsc810 发表于 2011-12-8 11:21:28

6# wayne


对很大的数,直接求解太麻烦,怎么编程求出一连串的w的值,希望wayne贴出代码,在这里先谢谢你

wsc810 发表于 2011-12-8 11:25:00

本帖最后由 wsc810 于 2011-12-8 11:27 编辑

7# wsc810

wayne 发表于 2011-12-9 11:59:36

消息已收到,我觉得我在6楼已经把最关键的地方作了说明,mathematica兄弟也给你示范了Mathematica解决丢番图方程的通用代码,而你直接拒绝了人家。

楼主应该很早就接触到Mathematica了吧,至少一年了,最基本的Mathematica知识应该还是有的,
还有pell方程,也应该很早就开始研究了,我相信,只要你思路清晰的话,编程不是难事的。

wayne 发表于 2011-12-9 12:05:26

我的代码已经写好了,但你的校验我通不过。
除非你给我明确的展示出来,我才贴我的代码

对于113   ,   (1) 式 前几个w的值为-19,35,-41,55编程时可以校验以下
页: [1] 2
查看完整版本: Mathematica达人帮忙了,有关pell方程