プログラミングの背景で「エラトステネスの篩」を公開しました。

プログラミングの背景で「エラトステネスの篩」を公開しました。

http://www.tbasic.org/reference/numbertheory/202006Eratosthenes.pdf

旧ホームページでの「エラトステネスの篩」の更新ということですが,今回は大幅に
加筆しています。
書き始めた当初は,もっとあっさりとするつもりでしたが,書いてくるうちに,色々疑問もでて,考えるとともに,色々な文献を調べたりしました。そのうちに,いわゆるエラトステネスの篩だけでなく,その改良版についての全体的説明を纏めたいと思うようになりました。その結果,全体で,94ページにもなりました。

内容は,実際に見てもらうと早いですが,以下の通りです。
・基本篩(これが元々のエラトステネスの篩です。)
・改良篩
・車輪篩
・リスト篩
・既約篩
そして,
・区分法(これは篩法ではなく,篩を分割して実行する技法です。)
等について,かなり詳しく説明しました。恐らくこれほど詳しい内容は,日本語の文献では見かけません。エラトステネスの篩について興味のある人に参考になれば,と思っています。

付録として,ここで説明した方法を使って,大きな素数表の作成にチャレンジしました。勿論,tbasicでそれを行うのは無理ですから,ここでは,C#を使いました。その結果,

・既約篩法を使って,一度の篩で,10^10までの素数表を作成することができました。
更に,区分法を併用することで,
・10^13までの素数表を篩うことができました。
(10^13までの素数表を作る試みはネット上でもいくつか見られますので,これ自体は全く新しいというものではありません。ただあまり技巧的ではない,標準的なプログラミングで実行したという意義はあるかもしれません。)

私自身,書いていて勉強にもなり,楽しむこともできました。私のコンピュータ環境(エントリー的なデスクトップ機)ではこれ以上の計算は無理なので,一応ここまでとして,公開しました。

1.501,1.502を公開しました。

1.501,1.502を公開しました。

立て続けにバグの修正版を公開しました。いずれも,掲示板,ブログでのコメントによる指摘です。
「このような単純なバグがまだ残っているのか」という感じですが,これらはいずれも,バージョンアップに伴うコード修正の時に,誤って紛れ込んだバグです。

一応チェックをしてから公開をしているのですが,やはりバグがあります。気が付いたら,掲示板等で指摘して頂けると有難いです。

時間をみて,全体的なチェックを少ししてみたいと思います。

tbasic 1.50を公開しました。

tbasicセット1.50を公開しました。
tbw150set.zip: http://www.tbasic.org/downloads/index.html
です。

更新内容は,Windows 10 版の正式対応です。

tbw1239set の公開から5か月余り,比較的短い期間での更新です。これは,tbw1239setの同梱文書の完成が遅れていたためです。1.50の開発自体は少し前から始めていて,ここ数か月は主に微調整を行っていました。

1.2系でもWindows 10 上で動作しましたが,開始画面でのOS表示が,動作しているOSがWindows 10 であっても Windows 8 と表示されていました。
tbasicの開発自体は,ここしばらく前から,Windows 10 上で行っていましたが,利用しているコンパイラが少し古いことなどの理由からでした。

今回公開したtbasicはWindows 10をターゲットとした新しいコンパイラでコンパイルされています。そのために内部的なコードの修正・削除・追加,
更に機能強化を行いました。言語機能は基本的に変更はありませんが,1.2系に比較して,

  1. 新しいコンパイラを使ったこと
  2. 内部的なコードの修正をかなり行っていること
  3. かなりファイルサイズが大きくなったこと
  4. 利用環境の向上があったこと

から,バージョン番号を少し飛ばして,1.50としました。Windows 10上での動作の安定性が増したと思います。ボタン等の外観も微妙に変更され,少し新しい雰囲気になっています。また,動作しているOSがWindows 10 なら開始画面で Windows 10 と表示されます。

少し詳しい更新内容は更新記録
http://www.tbasic.org/whatsnew/index.html
にあります。

1 3 4 5 6 7 10