こんばんは。数学とコンピュータ II Advent Calendar 10100日目の記事を書かせていただきます。 この記事では、ソリトンと呼ばれる対象についてご紹介します。 やや数学・物理色が強め、ですが、あまり詳細に囚われず読んでいただければ幸いです。 ちなみにソリトンは歴史的に見ても計算機のおかげで発展したと言っても過言ではなく、一方で近年ではセルオートマトンといった対象とも関わりがありますので、テーマ的にはあっていると思います。 そして日本が元々強い分野でありながら、あまり周知されていない気がするので、もし興味ある方(特に計算機に強い方々)が増えて、この分野が活気づけばいいな、と思って今回投稿しました。 本論に入る前に 1.まずちょっと言い訳(お詫び)です。 もともとlatexで書いていて、後でマークダウン用に変換したのですが、慣れていないためレイアウト等がかなり適当です。また数式
Pythonでペル方程式を解くプログラムを書きました。 ペル方程式とはディオファントス方程式の一つで以下のような形をしているものです。 ペル方程式を変形すると、 となります。よって、Dの平方根の有理数近似をx/yとすると、(x, y)が解の候補となりそうです。 有理数近似には、連分数展開が使えそうです。 実際に、ペル方程式の解を(x, y)とすると、x/yは√Dのconvergentとなる[1]ことが証明できます。よってconvergentを列挙し、方程式を満たすかどうか調べれば不足なくペル方程式の解を求めることが出来ます。 上の計算手続きで方程式の解を求めることができますが、コンピュータを使って計算する場合は注意点があります。 浮動小数点演算を使って平方根の連分数展開を行うと誤差が大きくなってしまい、正しい結果が得られないということです。これを回避するために、整数演算のみで平方根の連分数
This article was ported from my old Wordpress blog here, If you see any issues with the rendering or layout, please send me an email. Last time we saw a geometric version of the algorithm to add points on elliptic curves. We went quite deep into the formal setting for it (projective space $ \mathbb{P}^2$), and we spent a lot of time talking about the right way to define the “zero” object in our el
Consider a square with an inscribed circle of radius r which itself has an inscribed square rotated 45 degrees. If we look at just the first quadrant, then the area of the outermost square Aouter is r2. The area of the circle Acircle is πr2/4, and the area of the inner triangle Atriangle is r2/2. Therefore, we can make two equations for π based on the ratios of these areas: π = 4Acircle/Aouter and
A convolution is a way to combine two sequences, x and w, to get a third sequence, y, that is a filtered version of x. The convolution of the sample xt is computed as follows: It is the mean of the weighted summation over a window of length k and wt are the weights. Usually, the sequence w is generated using a window function. Numpy has a number of window functions already implemented: bartlett, b
5年ほど前、このブログで虚数のテトレーションという記事を書いたことがある。テトレーション(tetration)とは、自らのべき乗を指定された回数反復する演算のことで、na と表現する。35 の場合、555 = 1.911×102185 となる。Pythonの関数で表現すれば以下のようになる。 以前の記事では、∞i が 0.43828+0.36059i に収束することを見つけたのだが、今回はそれに関連したフラクタルについて紹介したい。 テトレーション na の a には複素数を指定することができる。このとき、a = x + yi として、それを複素平面に置く。ここで正の整数nを大きくしていき、発散と判定されたnに対応した色で平面を色分けする。発散しない場合、予め決めておいたnの上限値を使う。これで得られる図をテトレーション・フラクタル(tetration fractal)と呼ぶ。 n(x +
The Complexity of Things Previously on this blog (quite a while ago), we’ve investigated some simple ideas of using randomness in artistic design (psychedelic art, and earlier randomized css designs), and measuring the complexity of such constructions. Here we intend to give a more thorough and rigorous introduction to the study of the complexity of strings. This naturally falls into the realm of
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く