Online Mathematics Editor a fast way to write and share mathematics 100k+ users registered, 450k+ documents created Open Editor
代数を勉強する傍ら、プログラミングの世界ではその代数の表現がどう表せるかを Scalaで実装してみようと思います。 そもそも代数とは何か、とかいうようなことがあまり分かっていないレベルなので、 間違いがあったりするはずなので鵜呑み厳禁。 訂正・助言・ツッコミ頂けると有難いです。 既にScalaにはScalazという関数型データ構造のためのライブラリが存在しますが、 自分のやりたいことと、Scalazの機能では違うってのと (Scalazはあくまで関数型プログラミングのための圏論の構造を提供するので)、 自分の勉強のためにScalazは参考にしつつもコードを書き下ろしたいと思います。 (追記:Twitter製のalgebirdという代数のライブラリもあとから発見しました) ※https://github.com/twitter/algebird マグマ(Magma) 半群(SemiGroup
関係代数(かんけいだいすう、リレーショナル代数、英: relational algebra)は、関係データベースの関係モデル (リレーショナルモデル)において、集合論と一階述語論理に基づいて、関係 (リレーション、表、テーブル)として表現されたデータを扱う、コンピュータ科学における代数的な演算の体系である。 関係として表現されたデータに対して行う演算体系としては、関係論理(関係計算)とこの項目で説明する関係代数の2種類が知られている。 関係代数と関係論理は、主にエドガー・F・コッドによって考案され、その後コッドを含めた関係データベース(関係モデル)の研究者たちが発展させてきた。 現在では、関係代数の演算子としては、和、差、交わり (交差) 、直積、制限 (選択) 、射影、結合、商の8種類が言及されることが多い。 ただし属性名変更や拡張、要約などこの他の演算子も考案されている。 関係代数を実
素因数分解の計算 ある整数の素因数分解を考える時、すぐ思いつくのはその整数以下の素数で次々割っていくという方法です。 が、これだとまず素数を求める必要があり、これが厄介です。 そこで次に以下の様に、素因数分解したい数を2から整数の平方根までの数で次々割っていくという方法が考えられます。 (素朴試し割り法) なおここで紹介している方法は、最も単純な方法で素因数分解の方法としてはもっと洗練されたものがたくさんあります。 (i)素朴試し割り法の手順 素因数分解したい数 N を、まず一番小さな素数である2で割ります。 割り切れたら商( N/2 )をまた2で割ります。これを2で割り切れなくなるまで繰り返します。 この操作の結果残った数 R には素数2と2から作られる合成数(素数の積で表される数)は含まれなくなります。 素数2で割る操作の結果残った数を次に小さい素数3で割ります。これを3で割り切れなく
学習のポイント 素数判別、素因数分解の基本的なアルゴリズムを理解します。 キーワード アルゴリズム、素数、剰余、素数判別、エラトステネスのふるい、素因数分解 これまでは、素数研究が社会に直接関係することはあまりありませんでした。ところが、電子メールなどの暗号化が必要になりました。その暗号鍵、復号鍵では、「非常に大きいを素因数分解する計算には非常に時間がかかる」ことをベースにしています(→参考:「公開鍵暗号方式の原理」)。そのため、素数に関する関心が高まっているのです。 2,3,5,7,11,13,17,…など、1と自分自身でしか割り切れない数を素数といいます。12=4×3や、18=2×9のように、素数ではない数のことを合成数といい、2、3、4、9など、合成数を割り切れる数を約数といいます。そして、2や3など約数自体が素数であるとき、その約数を素因数といいます。 素数を扱うアルゴリズムは、大
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く