「諸概念の迷宮(Things got frantic)」用語集

本編で頻繁に使うロジックと関連用語のまとめ。

【高校数学】【数列】【整数】【自然数】【素数】数(number)そのものの概念の基礎理論(Basic Theory)について。

とりあえず、この単元における「数の概念」初めの一歩。

吉田武「オイラーの贈物」「基礎理論(Basic Theory)」より

我々は問題を解く必要に迫られて、ひとつまたひとつと数(number)の概念そのものを、拡張し、充実させてきた。

まずは数列(numerical sequence、ある規則に従って並べられた数の列)と整数(integer)と自然数natural number)の定義から。出発点はここ。
f:id:ochimusha01:20190614175743g:plain

吉田武「オイラーの贈物」「基礎理論(Basic Theory)」より

formula)」において、数や文字の掛け算で表された一つの単位を「term)」という。また、項の中で注目している文字以外の文字や数を「係数coefficient)」という。


一つの項からなる式を「単項式monomial)」、複数の項からなる式を「多項式polynomial)」あるいは「整式an integral expression)」という。

二つの多項式割り算すなわち「(quotient)」の形で与えられる式を「有理式rational expression)」あるいは「分数式fractional expression)」という。これは数の概念における整数から有理数への拡張の、式の概念に対する敷衍となっている。

またk個のaの積をa^kと書きaのk乗と読む。このkを「指数expornent)」という。

 原則として上位概念は下位概念の定義全てを含みます。

  • 数列numerical sequence)…一般項general term)が規定する規則に従って並べられた数の列。そのうち数の間隔が「隣り合う二項の差公差common difference)」で定められるものを等差数列arithmetic progression)あるいは算術数列arithmetic sequence)、「隣り合う二項の比公比common difference)」で定められるものを等比数列geometric progression)あるいは幾何数列geometric sequence)という。

  • 整数integer)…数列の立場からすれば「一般項general termN,公差common difference1の等差数列arithmetic progression)」となる。
    f:id:ochimusha01:20190614174703g:plain
  • 自然数natural number)…数列の立場からすれば「一般項general termN,公差common difference1の等差数列arithmetic progressionの1以上」となる。
    f:id:ochimusha01:20190614175743g:plain

従って「コンピューター計算Calculation)」の出発点もこの辺りとなってくる訳です。
統計言語Rでの検証

#とりあえずこの単元では-100から100にかけての整数を扱う。
Calculation_min<-c(-100)
Calculation_max<-c(100)
#この単元における整数の数列の定義。
Integer_Common_Difference<-c(1)
Integer_General_Term<-function(x){x}
Integer_Coefficient<-seq(Calculation_min,Calculation_max,Integer_Common_Difference)
#デフォルトの公差が1なのでc(Calculation_min:Calculation_max)でも同じ結果となる。
Integer_Sequence<-Integer_General_Term(Integer_Coefficient)
Integer_Sequence
[1] -100 -99 -98 -97 -96 -95 -94 -93 -92 -91 -90 -89 -88 -87 -86 -85 -84
[18] -83 -82 -81 -80 -79 -78 -77 -76 -75 -74 -73 -72 -71 -70 -69 -68 -67
[35] -66 -65 -64 -63 -62 -61 -60 -59 -58 -57 -56 -55 -54 -53 -52 -51 -50
[52] -49 -48 -47 -46 -45 -44 -43 -42 -41 -40 -39 -38 -37 -36 -35 -34 -33
[69] -32 -31 -30 -29 -28 -27 -26 -25 -24 -23 -22 -21 -20 -19 -18 -17 -16
[86] -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1
[103] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
[120] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
[137] 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
[154] 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
[171] 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
[188] 87 88 89 90 91 92 93 94 95 96 97 98 99 100
#この単元における自然数の数列の定義。
Natural_Number_Min<-c(1)
Natural_Number_Sequence<-Integer_Sequence[Natural_Number_Min <= Integer_Sequence & Integer_Sequence <= Calculation_max]
Natural_Number_Sequence
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
[23] 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
[45] 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
[67] 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
[89] 89 90 91 92 93 94 95 96 97 98 99 100

統計言語Rでの汎用計算機代数ソフトウェアYacasによる計算例

library(Ryacas)
#この単元における整数数列の定義。
yacas("Table(n,n,-100,100,1)")
Yacas vector:
[1] -100 -99 -98 -97 -96 -95 -94 -93 -92 -91 -90 -89 -88 -87 -86 -85 -84
[18] -83 -82 -81 -80 -79 -78 -77 -76 -75 -74 -73 -72 -71 -70 -69 -68 -67
[35] -66 -65 -64 -63 -62 -61 -60 -59 -58 -57 -56 -55 -54 -53 -52 -51 -50
[52] -49 -48 -47 -46 -45 -44 -43 -42 -41 -40 -39 -38 -37 -36 -35 -34 -33
[69] -32 -31 -30 -29 -28 -27 -26 -25 -24 -23 -22 -21 -20 -19 -18 -17 -16
[86] -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1
[103] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
[120] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
[137] 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
[154] 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
[171] 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
[188] 87 88 89 90 91 92 93 94 95 96 97 98 99 100
#この単元における自然数数列の定義。
yacas("Table(n,n,1,100,1)")
Yacas vector:
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
[23] 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
[45] 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
[67] 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
[89] 89 90 91 92 93 94 95 96 97 98 99 100 

こうして難しい定義を採用した成果が、一般項の式として2の倍数(multiple)すなわち2Nを採用する偶数even numbers)の数列と一般項として2N+1を採用する奇数odd numbers)の数列の識別において現れてきます。とりあえず係数(coefficient)と数列(sequence)の内容そのもののズレと補正のプロセスにも注目しつつ、自然数に限って見ていきましょう。

統計言語Rでの検証

Calculation_min<-c(-100)
Calculation_max<-c(100)
#上掲の定数のまとめ。

Integer_Common_Difference<-c(1)
Natural_Number_Min<-c(1)
#この単元における自然数の偶数の数列(長さが半分以下に)。
Even_General_Term<-function(x){2*x}
Integer_Coefficient<-seq(Calculation_min,Calculation_max,Integer_Common_Difference)
Even_Sequence<-Even_General_Term(Integer_Coefficient)
Even_Sequence
[1] -200 -198 -196 -194 -192 -190 -188 -186 -184 -182 -180 -178 -176 -174 -172 -170 -168
[18] -166 -164 -162 -160 -158 -156 -154 -152 -150 -148 -146 -144 -142 -140 -138 -136 -134
[35] -132 -130 -128 -126 -124 -122 -120 -118 -116 -114 -112 -110 -108 -106 -104 -102 -100
[52] -98 -96 -94 -92 -90 -88 -86 -84 -82 -80 -78 -76 -74 -72 -70 -68 -66
[69] -64 -62 -60 -58 -56 -54 -52 -50 -48 -46 -44 -42 -40 -38 -36 -34 -32
[86] -30 -28 -26 -24 -22 -20 -18 -16 -14 -12 -10 -8 -6 -4 -2 0 2
[103] 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36
[120] 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70
[137] 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 102 104
[154] 106 108 110 112 114 116 118 120 122 124 126 128 130 132 134 136 138
[171] 140 142 144 146 148 150 152 154 156 158 160 162 164 166 168 170 172
[188] 174 176 178 180 182 184 186 188 190 192 194 196 198 200
Even_Sequence_in_Here<-Even_Sequence[Natural_Number_Min <= Even_Sequence & Even_Sequence <= Calculation_max]
Even_Sequence_in_Here
[1] 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44
[23] 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88
[45] 90 92 94 96 98 100
length(Integer_Coefficient)
[1] 201
length(Even_Sequence)
[1] 201
length(Even_Sequence_in_Here)
[1] 50
#この単元における自然数の奇数の数列(長さが半分以下に)。
Odd_General_Term<-function(x){2*x+1}
Integer_Coefficient<-seq(Calculation_min,Calculation_max,Integer_Common_Difference)
Odd_Sequence<-Odd_General_Term(Integer_Coefficient)
Odd_Sequence
[1] -199 -197 -195 -193 -191 -189 -187 -185 -183 -181 -179 -177 -175 -173 -171 -169 -167
[18] -165 -163 -161 -159 -157 -155 -153 -151 -149 -147 -145 -143 -141 -139 -137 -135 -133
[35] -131 -129 -127 -125 -123 -121 -119 -117 -115 -113 -111 -109 -107 -105 -103 -101 -99
[52] -97 -95 -93 -91 -89 -87 -85 -83 -81 -79 -77 -75 -73 -71 -69 -67 -65
[69] -63 -61 -59 -57 -55 -53 -51 -49 -47 -45 -43 -41 -39 -37 -35 -33 -31
[86] -29 -27 -25 -23 -21 -19 -17 -15 -13 -11 -9 -7 -5 -3 -1 1 3
[103] 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37
[120] 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71
[137] 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 105
[154] 107 109 111 113 115 117 119 121 123 125 127 129 131 133 135 137 139
[171] 141 143 145 147 149 151 153 155 157 159 161 163 165 167 169 171 173
[188] 175 177 179 181 183 185 187 189 191 193 195 197 199 201
Odd_Sequence_in_Here<-Odd_Sequence[Natural_Number_Min <= Odd_Sequence & Odd_Sequence <= Calculation_max]
Odd_Sequence_in_Here
[1] 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59
[31] 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99
length(Integer_Coefficient)
[1] 201
length(Odd_Sequence)
[1] 201
> length(Odd_Sequence_in_Here)
[1] 50

統計言語Rでの汎用計算機代数ソフトウェアYacasによる計算例

library(Ryacas)
#この単元における偶数の数列の定義。
yacas("Table(i,i,2,100,2)")#ヒューステリックなアルゴリズム
Yacas vector:
[1] 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44
[23] 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88
[45] 90 92 94 96 98 100
yacas("Table(2*i,i,1,50,1)")#実際の数列の定義に立脚するアルゴリズム
Yacas vector:
[1] 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44
[23] 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88
[45] 90 92 94 96 98 100
#この単元における偶数の数列の定義。
yacas("Table(i,i, 1,100,2)")#ヒューステリックなアルゴリズム
Yacas vector:
[1] 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59
[31] 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99
yacas("Table(2*i+1,i, 0,49,1)")#実際の数列の定義に立脚するアルゴリズム
Yacas vector:
[1] 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59
[31] 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 

ヒューリスティック(英: heuristic, 独: Heuristik) - Wikipedia

必ず正しい答えを導けるわけではないが、ある程度のレベルで正解に近い解を得ることができる方法である。答えの精度が保証されない代わりに、回答に至るまでの時間が少ないという特徴がある。主に計算機科学と心理学の分野で使用される言葉であり、どちらの分野での用法も根本的な意味は同じであるが、指示対象が異なる。すなわち、計算機科学ではプログラミングの方法を指すが、心理学では人間の思考方法を指すものとして使われる。なお、論理学では仮説形成法と呼ばれている。

ゼロの偶奇性 - Wikipedia

ゼロは偶数である。このことを数学的に証明することは簡単であり、それを理解することも容易である。ゼロが偶数であることを証明するもっとも簡単な方法は、それが「偶数」の定義(2の倍数である整数)に当てはまることを確認することである。すなわち0=0×2である。結果的に、ゼロは偶数の特徴であるような性質をすべて持っている。例えば、0は2で割りきれる。0の両隣は奇数である、0はある整数(0)とそれ自身との和である。0要素の集合(空集合)は、二つの等しい集合に分割できる、等々。ゼロは、他の偶数が満たすべきパターンにもまた合致している。例えば、偶数-偶数=偶数のような算術における規則は、0が偶数であることを要求する。

しかしながら、一般社会において、ゼロの偶奇性を認識することは、他の整数の偶奇性に比較して困難が伴い、混乱の元になるようだ。ある研究によれば、小学校の生徒たちは半数程度がゼロが偶数であることを正しく認識できなかった。また、数学専攻の学生や数学の教師でさえ、0が偶数であることに対して、しばしば誤った認識を持つ。反応時間試験において、大部分の人々は、0が偶数と認識するのに要する時間は、2,4,6,8などより明らかに遅かった。

こうした数列概念はさらに素数合成数の関係に敷衍可能です。
吉田武「オイラーの贈物」「基礎理論(Basic Theory)」「素数合成数」より

ところで自然数において1とその数自身の他に約数divisor)を持たない数を素数prime number)という。そしてそれ以外の、すなわちいずれかの素数の積、すなわち倍数multiple)として表現可能な、すなわち素因数分解factorization into prime number)可能な数を合成数composite number)という。

f:id:ochimusha01:20190614140421g:plain

  • 自然数2は唯一の偶数の素数であり、偶素数even prime number)とも呼ばれる。

  • 素因数分解は掛ける順番を考慮しないでよければ一意に定まる。これを素因数分解の一意性(uniqueness)という。

具体的な素数の求め方としてはエラトステネスの篩(ふるい、Eratosthenes's sieve)が素数を組織的に求める方法として現在なおも意味を保ち続けている。

エラトステネスの篩ふるい、Eratosthenes's sieve

①まずは最小の素数2で割り切れる数、すなわち2の倍数multiple)あるいは偶数even numbers)を除去する。かくして1を除く奇数だけが残る。

②残った数の先頭である3の倍数6,9,12…を除去する。

③これをガウスの記号(Gaus's symbol)すなわちNを超えない最大の整数[N]の平方根、すなわち[sqrt(N)]まで繰り返す。

統計言語Rでの検証 

#上掲の定義に従って1を除いた奇数の自然数(上限100)から検討を開始する。
Evaluation_Target<-c(3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45, 47,49,51,53,55,57,59,61,63,65,67,69,71,73,75,77,79,81,83,85,87,89,91,93,95,97,99)
#この単元は100を最大数とするので[sqrt(100)]すなわち検討対象が10を超えたら検討を終了する。
Evaluation_Max<-c(10)
#開始時点で素数リストは2のみ
Prime_Number_List<-c(2)
#具体的検討過程①検討対象の先頭の数字を取り出す。まずは3が出てくる。
Current_Prime_Number<-Evaluation_Target[1]
Current_Prime_Number
[1] 3
#②取り出した数字が検討の上限を超えてたら検討終了。そうでなければ、取り出した数字を素数リストに追加してその倍数を検討対象リストから除去する。まずは上限以下のケースから開始。
Current_Prime_Number_List <-c(Prime_Number_List,Current_Prime_Number)
Current_Prime_Number_List
[1] 2 3
Natural_Number_Coefficient<-c(1:100)
Current_Multiple_Sequence<-Natural_Number_Coefficient*Current_Prime_Number
Current_Multiple_Sequence
[1] 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66
[23] 69 72 75 78 81 84 87 90 93 96 99 102 105 108 111 114 117 120 123 126 129 132
[45] 135 138 141 144 147 150 153 156 159 162 165 168 171 174 177 180 183 186 189 192 195 198
[67] 201 204 207 210 213 216 219 222 225 228 231 234 237 240 243 246 249 252 255 258 261 264
[89] 267 270 273 276 279 282 285 288 291 294 297 300
Current_Evaluation_list <- setdiff(Evaluation_Target, Current_Multiple_Sequence)
Current_Evaluation_list
[1] 5 7 11 13 17 19 23 25 29 31 35 37 41 43 47 49 53 55 59 61 65 67 71 73 77 79 83 85 89 91
[31] 95 97

#③次の検討対象の先頭の数字を取り出す。5が出てくる。
Current_Prime_Number<-Current_Evaluation_list[1]
Current_Prime_Number
[1] 5
#④繰り返す。
Current_Prime_Number_List <-c(Prime_Number_List,Current_Prime_Number)
Current_Prime_Number_List
[1] 2 3 5
Current_Multiple_Sequence<-Natural_Number_Coefficient*Current_Prime_Number
Current_Evaluation_list <- setdiff(Current_Evaluation_list, Current_Multiple_Sequence)
Current_Evaluation_list
[1] 7 11 13 17 19 23 29 31 37 41 43 47 49 53 59 61 67 71 73 77 79 83 89 91 97
#⑤次の検討対象の先頭の数字を取り出す。7が出てくるので繰り返す。
Current_Prime_Number<-Current_Evaluation_list[1]
Current_Prime_Number
[1] 7
Current_Prime_Number_List <-c(Prime_Number_List,Current_Prime_Number)
Current_Prime_Number_List
[1] 2 3 5 7
Current_Multiple_Sequence<-Natural_Number_Coefficient*Current_Prime_Number
Current_Evaluation_list <- setdiff(Current_Evaluation_list, Current_Multiple_Sequence)
Current_Evaluation_list
[1] 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
#⑥次の検討対象の先頭の数字を取り出す。11が出てくる。検討の上限を超えたので検討中の素数リストに残りを加えて処理終了。

Prime_Number_List<-c(Current_Prime_Number_List,Current_Evaluation_list)
Prime_Number_List
[1] 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

統計言語Rによる上掲プロセスの関数化

Prime_Number_Choosing<-function(Calculation_Max){
#「検討の上限」を準備する。
Evaluation_Max<-sqrt(Calculation_Max)

#「1を除く奇数の数列」を準備する。
Allmost_Natural_number_list<-c(1:Calculation_Max) #1を除く
Odd_General_Term<-function(x){2*x+1}
Allmost_Odd_Sequence<-Odd_General_Term(Allmost_Natural_number_list)
Evaluation_Target<-Allmost_Odd_Sequence[Allmost_Odd_Sequence <= Calculation_max]

#「最初の素数2のみが入った検討済み素数の数列」を準備する。
Prime_Number_List <-c("2")
#上掲処理を整理した抽出過程。
while(Evaluation_Target[1] <= Evaluation_Max){
Prime_Number_List <-c(Prime_Number_List,Evaluation_Target[1])
Current_Multiple_Sequence<-Allmost_Natural_number_list*Evaluation_Target[1]
Evaluation_Target <- setdiff(Evaluation_Target, Current_Multiple_Sequence)
}
Prime_Number_List<-c(Prime_Number_List,Evaluation_Target)
return(c(Prime_Number_List))
}
Prime_Number_Choosing(100)#25個
[1] "2" "3" "5" "7" "11" "13" "17" "19" "23" "29" "31" "37" "41" "43" "47" "53" "59" "61"
[19] "67" "71" "73" "79" "83" "89" "97"
#次の素数101はCalculation_Maxを10201以上に上げないと登場しない。しかも何故か計算エラーが…
Prime_Number_Choosing(10300)
while (Evaluation_Target[1] <= Evaluation_Max) { でエラー:
TRUE/FALSE が必要なところが欠損値です

ここで重要なのは自然数や整数の分布が(数値が数直線上に連続する実数や有理数の世界と異なり)離散的であるという点。だから当然、そのグラフは階段状となるのです。
統計言語Rによる自然数のグラフ(y=x,ただしx>0)

Natural_Number_graph<-function(Max){
graph_x<-c(0:Max)
f0<-function(x) {x}
graph_y<-f0(graph_x)
plot(graph_x,graph_y,xlim=c(0,Max),ylim=c(0,Max),type="S",lty =1,main="Natural number graph", xlab="x", ylab="y=x")

#塗りつぶし
polygon_x<-c(0,0)
polygon_y<-c(0,graph_y[2])
for(i in 1:Max){
polygon_x<-c(polygon_x,graph_x[i],graph_x[i])
polygon_y<-c(polygon_y,rev(polygon_y)[1],graph_y[i+1])
}
polygon(c(polygon_x,Max,Max), #x
c(polygon_y,Max,0), #y
density=c(30), #塗りつぶす濃度
angle=c(45),     #塗りつぶす斜線の角度
col=rgb(0,1,0))  
}
#アニメーション化する。
library("animation")
Time_Code=c(1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,9,9,9,10,10,10)
saveGIF({
for (i in Time_Code){
  Natural_Number_graph(i)
}
}, interval = 0.1, movie.name = "TEST.gif")

*Nが大きくなるほどy=xなる関数の抽象的展開に近似?

f:id:ochimusha01:20190614175743g:plain

統計言語Rによる整数のグラフ(y=x)

Integer_graph<-function(Max){
graph_x<-c(-10:Max)
f0<-function(x) {x}
graph_y<-f0(graph_x)
plot(graph_x,graph_y,xlim=c(-10,10),ylim=c(-10,10),type="S",lty =1,main="Integer graph", xlab="x", ylab="y=x")

#塗りつぶしなし 
}
#アニメーション化する。
library("animation")
#Time_Code=c(-10,-10,-9,-9,-8,-8,-7,-7,-6,-6,-5,-5,-4,-4,-3,-3,-2,-2,-1,-1,0,0,1,1,2,2,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,9,9,9,10,10,10)
Time_Code=c(-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10)
saveGIF({
for (i in Time_Code){
  Integer_graph(i)
}
}, interval = 0.1, movie.name = "TEST.gif")

f:id:ochimusha01:20190614174703g:plain