不思議な関係

 投稿者:GAI  投稿日:2012年 5月23日(水)22時16分32秒
  無理数を含む式の冪乗の展開式のプログラムを書いて頂いたので、これを少し拡張して
次のものを作って次の現象が成り立つことが確認出来ました。

INPUT PROMPT "e=a+s√bのaは?": a
INPUT PROMPT "e=a+s√bのsは?":s
INPUT PROMPT "e=a+s√bのbは?": b0   !√b0
INPUT PROMPT "eの何乗までですか?": m
FOR w=1 TO m
   LET P=0 !aの係数
   LET Q=0 !√bの係数
   LET b=s^2*b0                          !s√b0=√s^2*b0=√b
   FOR k=0 TO w !二項展開する
      IF MOD(k,2)=0 THEN
         LET P=P+COMB(w,k)*a^(w-k)*b^(k/2) !aの係数
      ELSE
         LET Q=Q+COMB(w,k)*a^(w-k)*b^((k-1)/2) !√bの係数
      END IF
   NEXT k
   PRINT w;"→";P;"+";Q*s;"√";b0              !結果を表示する
NEXT w
END

n:(1+√2)^nの展開式
1 : 1+1√2→1^2-2*1^2=-1の関係式が成立
2 : 3+2√2→3^2-2*2^2=1の関係式が成立
3 : 7+5√2→7^2-2*5^2=-1
4 : 17+12√2→17^2-2*12^2=1
5 : 41+29√2→41^2-2*29^2=-1
6 : 99+70√2→99^2-2*70^2=1
7 : 239+169√2→239^2-2*169^2=-1
8 : 577+408√2→577^2-2*408^2=1
9 : 1393+985√2→1393^2-2*985^2=-1
10 : 3363+2378√2→3363-2*2378^2=1
11 : 8119+5741√2→以下同様
12 : 19601+13860√2
13 : 47321+33461√2
14 : 114243+80782√2
15 : 275807+195025√2
16 : 665857+470832√2
17 : 1607521+1136689√2
18 : 3880899+2744210√2
19 : 9369319+6625109√2
20 : 22619537+15994428√2
21 : 54608393+38613965√2
22 : 131836323+93222358√2
23 : 318281039+225058681√2
24 : 768398401+543339720√2
25 : 1855077841+1311738121√2
26 : 4478554083+3166815962√2
27 : 10812186007+7645370045√2
28 : 26102926097+18457556052√2
29 : 63018038201+44560482149√2
30 : 152139002499+107578520350√2

また(8+3√7)^nの展開式について調べると
n:(8+3√7)^nの展開式
1 : 8+3√7→8^2-7*3^2=1の関係式が成立
2 : 127+48√7→127^2-7*48^2=1の関係式が成立
3 : 2024+765√7→2024^2-7*765^2=1の関係式が成立
4 : 32257+12192√7→32257^2-7*12192^2=1の関係式が成立
5 : 514088+194307√7→ 以下同様
6 : 8193151+3096720√7
7 : 130576328+49353213√7
8 : 2081028097+786554688√7
9 : 33165873224+12535521795√7
10 : 528572943487+199781794032√7
11 : 8424001222568+3183973182717√7
12 : 134255446617601+50743789129440√7


このように不思議な関係が成立する無理数を含む数として
√2→1+√2
√3→2+√3
√5→(1+√5)/2
√6→5+2√6
√7→8+3√7
√10→3+√10
√11→10+3√11
√13→(3+√13)/2
√14→15+4√14
・・・
 

Re: 不思議な関係

 投稿者:山中和義  投稿日:2012年 5月24日(木)10時45分53秒
  > No.1884[元記事へ]

GAIさんへのお返事です。

> 無理数を含む式の冪乗の展開式のプログラムを書いて頂いたので、これを少し拡張して
> 次のものを作って次の現象が成り立つことが確認出来ました。

漸化式で求めてみました。


!A,K,B≧0、Eは自然数とする。
!S=(A+K√B)^E=N+M√B を計算する。

!漸化式で表すことを考える。
!べき乗がEまでの値をA[E]+K[E]√Bとすると、
!A[E+1]+K[E+1]√B=(A+K√B)(A[E]+K[E]√B)=(A*A[E]+K*B*K[E])+(K*A[E]+A*K[E])√B
!したがって、
! A[E+1]=A*A[E]+K*B*K[E]
! K[E+1]=K*A[E]+A*K[E]
!の連立漸化式を得る。

LET A=5 !a
LET K=2 !k
LET B=6 !√b
LET E=6 !べき乗

LET N=A !a[e]
LET M=K !k[e]
FOR i=2 TO E !漸化式を計算する
   LET T=A*N+K*B*M !※Nの変更に注意する
   LET M=K*N+A*M
   LET N=T
NEXT i

PRINT N;"+";M;"√";B !結果を表示する


PRINT N^2-M^2*B !±1 ペル方程式

PRINT N/M; SQR(B) !√bの近似値

END



> このように不思議な関係が成立する無理数を含む数として

E→∞で、N/Mは√Bとなります。

(A+K√B)(A-K√B)=A^2-K^2*Bなので、
ペル方程式A^2-K^2*B=±1を満たすA,K,Bで、N/M(E→∞)は√Bになる。

ペル方程式を使って、√Bを求めることもできます。



A,K,Bでプログラミング学習にトライ!(笑)
 

Re: 不思議な関係

 投稿者:山中和義  投稿日:2012年 5月25日(金)10時47分42秒
  > No.1885[元記事へ]

GAIさんへのお返事です。

> ペル方程式を使って、√Bを求めることもできます。

√B
A^2-K^2*B=±1の解(a,k)より、S=(a+k√B)^E=N+M√Bを求める。
E→∞として、√B≒N/Mとなる。

次のプログラムで(a,k)を求めて、前出のプログラムでN,Mを求める。


ペル方程式 X^2-D*Y^2=±1 の最小な自然数解を求める


OPTION ARITHMETIC RATIONAL !有理数モード

LET D=48 !Dは平方数でない正整数 ※

LET D0=D !Dが1より小さいなら、有理化する
IF D<1 THEN LET D=NUMER(D)*DENOM(D)

LET G0=0 !初期値
LET H0=1
LET Y0=1
LET Y1=0
LET K0=INTSQR(D)

LET N=0 !繰り返した回数

DO !連分数展開する漸化式を計算する
   LET K=INT((K0+G0)/H0) !連分数展開の各桁の数 √94≒9[1,2,3,1,1,5,1,8,1,5,1,1,3,2,1,18,…]

   LET G=-G0+K*H0
   LET H=(D-G*G)/H0

   LET X=G0*Y1+H0*Y0 !n番目で打ち切ったときの部分和 X/Y
   LET Y=Y0+K*Y1

   LET X0=X
   LET Y0=Y1
   LET Y1=Y

   PRINT N;":"; G0;H0;K;Y0;X0 !途中経過を表示する

   !H=1となるnについて、p[n+1],q[n+1]がペル方程式の解となる
   IF G=G0 THEN !Moirの定理より
      PRINT X0;X; Y0;Y1;Y !debug
      PRINT "m=2n" !debug

      LET P=(X0^2+D*Y0^2)/H0 !a[2n]=a[n]^2/h[n]
      LET Q=2*X0*Y0/H0

      EXIT DO
   ELSEIF H=H0 THEN
      LET X=G*Y1+H*Y0

      PRINT X0;X; Y0;Y1;Y !debug
      PRINT "m=2n+1" !debug

      LET P=(X*X0+D*Y0*Y1)/H0 !a[n]*a[n+1]/h[n]
      LET Q=(X*Y0+Y1*X0)/H0

      EXIT DO
   END IF

   LET G0=G !次へ
   LET H0=H

   LET N=N+1
LOOP

PRINT P;"+";Q*DENOM(D0);"√";D0

PRINT "(";P;",";Q*DENOM(D0);")" !解を表示する


END



大きな(a,k)で、より早く大きな(n,m)を見つけると効率が上がる。

√B
A^2-K^2*B=±4の解(a,k)より、
漸化式
 p[1]=a、q[1]=k
 p[n+1]=p[n]^2-2、q[n+1]=p[n]q[n]
を求める。
n→∞として、√B≒p[n]/q[n]となる。


LET A=2702 !(a,k)
LET K=390
PRINT A^2-K^2*48; A/K; SQR(48)
FOR i=1 TO 3
   LET K=A*K !漸化式 p[n+1]=p[n]^2-2、q[n+1]=p[n]q[n]
   LET A=A^2-2
   PRINT i;":";A;K; A/K
NEXT i
END



> A,K,Bでプログラミング学習にトライ!(笑)

 倍数 A=K*B
 不定方程式 Ax+By=K
 合同式 A≡K (mod B)
など
 

Re: 不思議な関係

 投稿者:山中和義  投稿日:2012年 5月26日(土)10時31分15秒
  > No.1888[元記事へ]

GAIさんへのお返事です。

> S=(A+K√B)^E=N+M√B を計算する。

>次のプログラムで(a,k)を求めて、前出のプログラムでN,Mを求める。

平方根の連分数展開が根底にあるようですね。

M,Nを求める計算は、(A,K)から得られた1次分数関数でも可能です。
ニュートン法でも漸化式として、別の分数関数を使っています。


!1次分数関数を使って、√Bを求める

!ペル方程式 A^2-K^2*B=±1を満たすA,K,Bで、
!1次分数関数f(x)=(A*x+K*B)/(K*x+A)として、f*f*f* … *f(x)を求める。
!このとき、x[1],x[2],x[3],…,x[n]は分数近似となる。
!n→∞として、√B≒f^n(x)

!例 √7≒2.64575131106459 の場合
!f(x)=(8x+21)/(3x+8) ∴x[1]=21/8
!f*f(x)=f(f(x)=(127x+336)/(48x+127) ∴x[2]=336/127
!f*f*f(x)=f(f(f(x))=(2024x+5355)/(765x+2024) ∴x[3]=5355/2024
! :
!f^n(x)=(A[n]*x+K[n]*B[n])/(K[n]*x+B[n]) ∴x[n]=K[n]*B[n]/A[n]

DEF f(x)=(A*x+K*B)/(K*x+A) !1次分数関数

LET A=8 !a
LET K=3 !k
LET B=7 !√b

LET x=0
FOR n=1 TO 10 !合成関数を計算する
   LET x=f(x)
   PRINT n;":";x
NEXT n

!!PRINT SQR(B) !検算



!行列を使って、√Bを求める

!1次分数関数の合成関数は、行列の積(べき乗)で表現できる。
!M=┌ A K*B ┐として、M^nを求める。
! └ K A   ┘
!(a,k)を1列目、近似分数(K*B)/Aが2列目に並ぶ。

DIM M(2,2) !変換を表す行列
LET M(1,1)=A
LET M(1,2)=K*B
LET M(2,1)=K
LET M(2,2)=A

DIM T(2,2) !M^n
MAT T=IDN
FOR i=1 TO 10 !べき乗
   MAT T=T*M
   MAT PRINT T;
NEXT i

END

 

戻る