|
> No.4378[元記事へ]
白石和夫さんへのお返事です。
> ご報告ありがとうございました。
> FACT関数は非負整数以外の入力に対しEXTYPE4000の例外を生成するのが正しいのですが,
> 2進モード,複素数モードでチェックが抜けていました。
> いずれ修正しますが,とりあえず引数が非負整数の範囲で使ってください。
> なお,これは,FACT(n)=PERM(n,n)で定義しているので,PERM関数のバグです。
> PERM(n,r)は,rが非負整数でないときEXTYPE4000になるべきでした。
>
お忙しいところ恐縮です。別件です。
----------------------------------------
!sin(x)+cos(x)=ρ_n ,sin(x)+cos(x)=zeta(n),
OPTION ARITHMETIC COMPLEX
SET BITMAP SIZE 640*2+1,640*2+1 ! x軸方向にデフォルトのn倍拡張
LET Wi=50
SET WINDOW -.5,2,-5,wi
SET COLOR MODE "REGULAR"
SET COLOR MIX(0) 0,0,0 !背景色黒
SET COLOR MIX(1) 0,0,1 !青
SET COLOR MIX(2) 1,0,0 !赤
SET COLOR MIX(3) 1,0,1 !赤紫
SET COLOR MIX(4) 0,1,0 !緑
SET COLOR MIX(5) 0,1,1 !水色
SET COLOR MIX(6) 1,1,0 !黄色
SET COLOR MIX(7) 1,1,1 !白
CLEAR !CLEAR文は,モード切替え前にSET COLOR MIX(0)で割り当てられた色で画面を塗りつぶす。
DRAW GRID(.5,10)
SET LINE COLOR 5
LET ZERO1=14.1435658457259942670362036372 !abs(ρ_1)
DRAW circle WITH SCALE(ZERO1)*SHIFT(0,0)
LET ZERO2=21.0279849385071248276781391990
DRAW circle WITH SCALE(ZERO2)*SHIFT(0,0)
LET ZERO3=25.0158549103229941605743395159
DRAW circle WITH SCALE(ZERO3)*SHIFT(0,0)
LET ZERO4=30.4289843286609910063177407380
DRAW circle WITH SCALE(ZERO4)*SHIFT(0,0)
LET ZERO5=32.9388567164704955328815401721
DRAW circle WITH SCALE(ZERO5)*SHIFT(0,0)
LET A9=19
DATA 0.3751071671920218266 !ρ_n
DATA 0.3808358315180773568
DATA 0.3827206823919593268
DATA 0.3844917185921564522
DATA 0.3851159549678919465
DATA 0.3860527943271225999
DATA 0.3865933572251905934
DATA 0.3869323439242140375
DATA 0.3874937533934756098
DATA 0.3876785568691843285
DATA 0.392699081698724 !zeta(2)
DATA 0.11527703852715692264
DATA 0.0430686148913785
DATA 0.018822570327114491965
DATA 0.00874851187966394
DATA 0.0041922627745319701263
DATA 0.00204285704164369
DATA 0.0010052075320191288978
DATA 0.000497535187258165
DIM A(A9)
MAT READ A
DATA -1.4991587101393674264 !ρ_n
DATA -1.6967776724345700568
DATA -1.7834404027948773685
DATA -1.8812542252228525807
DATA -1.9208434596511019464
DATA -1.9868259982857292363
DATA -2.0292671172330924267
DATA -2.0578419991380527779
DATA -2.1090764852814033995
DATA -2.1271575682140434683
DATA -0.281861187900338 !zeta(2)
DATA 0
DATA 0
DATA 0
DATA 0
DATA 0
DATA 0
DATA 0
DATA 0
DIM B(A9)
MAT READ B
SET POINT STYLE 7
LET i=COMPLEX(0,1)
FOR n=1 TO A9
FOR nn=1 TO 4
IF n<11 THEN
LET x=2*(PI*nn - COMPLEX(A(n) ,B(n))) !ρ_n
ELSE
LET x=2*(PI*nn + COMPLEX(A(n) ,B(n))) !zeta(n)
END IF
LET z1=(1/2 + i/2)*EXP(-i*x) + (1/2 - i/2)*EXP(i*x)
LET s1=(1/2 + i/2)*EXP(-i*x)
LET s2=(1/2 - i/2)*EXP(i*x)
SET POINT COLOR 2
PLOT POINTS: RE(s1)+RE(s2) ,IM(s1)+IM(s2)
PRINT ROUND(n,2);":";z1;RE(s1)+RE(s2);IM(s1)+IM(s2)
NEXT nn
NEXT n
END
------------------------------------------
LET x=2*(PI*nn - COMPLEX(A(n) ,B(n))) !ρ_n
LET x=2*(PI*nn + COMPLEX(A(n) ,B(n))) !zeta(n)
X DATA
sin(x)+cos(x)=zeta(n)
sin(x)+cos(x)=ρ_n
LET x=2*(PI*nn (-) COMPLEX(A(n) ,B(n))) !ρ_n
LET x=2*(PI*nn (+) COMPLEX(A(n) ,B(n))) !zeta(n)
この ± のギャップ 高精度計算サイトでも経験しました。
http://blogs.yahoo.co.jp/donald_stinger
|
|