gooブログはじめました!

写真付きで日記や趣味を書くならgooブログ

関数a^xは周期関数か?

2016-08-28 13:09:34 | ブログ
 2つの素数p,qを掛け算した数n=pqは、nが大きな数になるとnを素因数分解してp,qを求めるのが容易ではない。そこで、素数のもつこの性質がRAS暗号に利用されている。

 しかし、n未満でnと互いに素な数aを選び、aをx乗したa^x(x=0,1,2,...)をつくり、各数をnで割って余りを並べてみると、不思議な周期性が現れる。

 例えば、n=15の場合には、n=pq=3×5とすぐに計算できるが、この周期性が出現することを確かめてみる。

 a=11を選び、11^0,11^1,11^2,11^3を計算すると、1,11,121,1331となるので、各々を15で割って余りを求めると、1,11, 1,11が得られ、1または11が周期的に繰り返されることが分かる。

 そうすると、
   11^2=15×8+1
であるから、11^2-1を因数分解すると、
   11^2-1=(11-1)×(11+1)=15×8
と書ける。

 ここで得られた10と12について、15と10、または、15と12の最大公約数を求めると、5または3が得られるから、これらがp,qに相当することが分かる。

 a=4を選び、同様の計算をしても、やはり4^xをnで割った余りには周期2の周期性がみられ、同様にp,qとして3または5が得られる。a=7の場合には、周期4の周期性が現れる。

 一般に、n-1を2乗すると、(n-1)^2=n^2-2n+1であるから、この数をnで割ると、余りが1となることがすぐ分かる。そうすると、(n-1)^x(x=0,1,2,...)をnで割って余りを求めると、1,n-1,1,n-1,...の周期性が現れる。n+1をx乗した数についても同様である。

 しかし、a=n-1やn+1の場合には、pやqが現れない。そこで、これらの数を除き、周期性をもつなるべく小さいaを探す計算が必要となるが、nが大きな数になると、計算は容易ではない。

a^xをnで割った余りが1になることを、
   a^x(mod n)=1
と表現する(x=0,1,2,...)。これは、nを法とするa^xの剰余が1である、と言い換えてもよい。

 a^x(mod n)が周期性をもつとする。a^2(mod n)=1ならば、a^2m(mod n)=1である(m=0,1,2,...)。何故なら、a^2=kn+1(k=1,2,...)と書けるから、
   a^2m=(kn+1)^m=(k^m)(n^m)+...+mkn+1
と展開できる。従って、a^2m(mod n)=1となる。

 さらに、a(mod n)=aならば、a^(2m+1)(mod n)=aである。何故なら、
   a^(2m+1)(mod n)=a^2m(mod n)a(mod n)
と展開できる。a^2m(mod n)=1であるから、a^(2m+1)(mod n)=aとなる。

 関数a^x(mod n)が周期性をもつならば、この関数をフーリエ級数に展開できる。

 a^x(mod n)が周期2の関数ならば、1,a,1,a,...の繰り返しとなる。aは1でさえなければ任意であるから、簡単のために-1と置き換える。そうすると、a^x(mod n)は関数cosxと表すことができる。ここで、
   x=2mのとき:x=2mpと置き換えると、cosx=1
   x=2m+1のとき:x=(2m+1)pと置いて、cosx=-1
である。円周率パイをpで表している。

 a^x(mod n)が周期4の関数ならば、1,a,b,c,1,a,...の繰り返しとなる。a,b,cは1でさえなければ任意であるから、それぞれ0,-1,0と置き換える。そうすると、a^x(mod n)は関数cos(x/2)と表すことができる。ここで、
   x=4mのとき:x=4mpと置いて、cos(x/2)=1
   x=4m+1のとき:x=(4m+1)pと置いて、cos(x/2)=0
   x=4m+2のとき:x=(4m+2)pと置いて、cos(x/2)=-1
   x=4m+3のとき:x=(4m+3)pと置いて、cos(x/2)=0

 関数f(x)が、周期2のcos関数の項、周期4のcos関数の項など、いろいろの周期のcos関数の項の足し合わせで構成されているとする。例えば、f(x)の中から周期2の関数cosxだけを抽出するには、フーリエ級数の公式を使えばよい。すなわち、f(x)cosxを積分すれば、cosxに掛けられる係数(振幅に相当する)が求められる。周期2の関数が1つだけなら、結果は1となる。

 f(x)とcosxの積の積分(内積とも言う)をとると、f(x)中のcosxの項だけが残り、cos(x/2),cos(x/4)など他の項とcosxとの積の項は0になる。cosx,cos(x/2)など各周期をもつ関数は互いに直交しているので、その内積をとると、cosxと平行なそれ自身だけが残ることになる。

 参考文献
 竹内薫著「量子コンピュータが本当にすごい」(PHP新書)

オリンピックについて思うこと

2016-08-07 13:06:54 | ブログ
 またオリンピックの季節がやって来た。今回も、サッカーなど興味ある種目について、テレビを介して日本選手の活躍ぶりを観戦することになるだろう。野球やソフトボールの試合がないのは残念だが。

 それにしても、過去の2回のオリンピックにおいて、ロシアが組織的なドーピングをやっていたという反ドーピングの国際機関の発表は、それまでのいくつかのドーピング事件に加えて、汚れたオリンピックという印象を一層強めるものであった。

 これほど世界的にドーピングが蔓延しているのなら、いっそドーピングを解禁にして、ドーピング検査の負担をなくしたら、とも思う。しかし、その考えは、近代オリンピックが理想とするアマチュアリズムの理念に反するのであろう。メダルをとるためならドーピングでも何でも手段を選ばないという態度は、どうみてもアマチュアリズムの喪失と言わざるを得ない。

 そこで、汚れたオリンピック・アスリートと対照的に目に浮かぶのが、野球の練習に打ち込む子供たちである。彼らの姿を見るたびに、「彼らこそアマチュアリズムの具現者以外の何者でもない」と、無性に感激してしまうのである。

 そうは言っても、過去のオリンピックを思い起こすと、感動的な場面が思い浮かぶ。マラソンの有森裕子さんは、我々に2回も感動の機会を与えてくれた。また、14歳の中学生であった岩崎恭子さんは、大方の予想を裏切り、みごと金メダルを獲得した。岩崎さんがあげた成果をみて、多くの人々は、普通の女の子でも不断の努力の上に良い体調のような好運が重なると、思いがけない結果を残せることを実感したに違いない。岩崎さんは、今でも、アマチュアにとって希望の星のような存在であると思う。

 ここで話が変わるが、シリアや南スーダンの内戦は、多くの難民を生み出してきた。難民の多くは、今日の生活の心配をしなければならない身であるが、スポーツをやりたいという若者もいるにはいるようだ。IOCは、有望な難民アスリートを集めて難民オリンピック・チームをつくり、オリンピックへの参加を支援している。一見すると、美談のようにみえるが、彼らが難民の星のような存在になるとは到底思えない。ドーピング問題などに悩むIOCが、格好いい話題づくりを狙っているだけ、という批判もあるだろう。

 そこで思い浮かぶのがインドである。インドは、大国でありながら、オリンピックにはわずかな選手しか派遣していない。インドは、中央集権の中国とは違い、極端なほどの地方分権制らしく、全国的な組織でオリンピック選手を養成するということをやっていないのである。それは、発展途上国らしく、オリンピックよりも生活レベルの向上が優先することをよく知っているからである。インドがオリンピック狂騒曲に踊らされることなく、身の程を守っていることに敬意を表したい。