Rokiのチラ裏

学生による学習のログ

algorithm

Divergence of the sum of the reciprocals of the primes

素数の逆数和が発散する事(式 )についてメモ。 素数の逆数和が発散することの証明には Harmonic series*1 が発散する事(式(2))を利用する 式 (2) の証明には、式変形、等式変形による不等式の評価を行う方法と、積分を用いた不等式評価など*2による方法があ…

maximal length sequence

M系列に関する学習メモ*1。 import Test.HUnit import System.IO mulcon :: Int -> Int mulcon 0 = 1 mulcon n = (a * mulcon(n - 1) + b) `mod` m where a = 3 b = 0 m = 7 mc :: [Int] -> [Int] mc = map mulcon main :: IO (Counts, Int) main = runTestT…

sha-2 の理論と実装

ふと国内でもある程度取り上げられている記事 Learn Blockchains by Building One – Hacker Noon を見て自分も何か実装してみるか〜と思ったのだが、私の観測範囲内では C++ の sha-2 ハッシュ関数がライブラリとしてあまりよく整備されていない気がしたので…

JPEG デコーダ書いた

以前 JPEG エンコーダをフルスクラッチで書いたが、今度は JPEG デコーダを書いて見た。該当するコミットはこちら。 github.com プロジェクト全体はこちら。 github.com 量子化テーブルの要素数を間違えて指定していて、少しハマった瞬間もあったが今回は割…

JPEG エンコーダ書いた

以前、JPEGに関する画像圧縮技術やデータ構造などついて学んだので、折角だし自分で作ってみようと思い、フルスクラッチで書いて見た。といっても、性能自体はそんなに良いものではないと思うし、簡単のために色々と制限を設けているので実用的ではないと思…

量子力学と量子コンピューターについての学習メモ #2

前回の続き。 ドイチュ-ジョサのブラックボックス ジョサのアルゴリズムとは、ブラックボックスが蓄えているビット列が均一か等分かどちらなのかを判定するアルゴリズムである。よって、このアルゴリズムが有効であるのは、ブラックボックスが蓄えているビッ…

量子力学と量子コンピューターについての学習メモ #1

量子力学、量子コンピュータについての個人的な学習メモ。学習を促すものでも入門記事でもなくあくまで個人的な学習過程でのメモである事に注意。 量子コンピュータ―超並列計算のからくり (ブルーバックス)作者: 竹内繁樹出版社/メーカー: 講談社発売日: 200…

k-meansクラスタリングで遊ぶ

k-meansがディスられていたので、取り敢えずどんなもんかと実装した。 exp: #include<srook/k_means/k_means.hpp> int main() { srook::k_mns::k_means km("data",3); // km.set_initial_point(Point{2.0,90.0},Point{5.0,50.0}); // initial centerの独自設定も勿論可能 km.clustering(</srook/k_means/k_means.hpp>…

TMP によるコンパイル時ハフマンエンコーダー(Compile time huffman encoder)

何となく書いて見た。テンプレートメタプログラミングによって、コンパイル時にハフマンツリーを構築し各記号を符号化して生成する。 以下のサンプルコードで標準出力以外は全てコンパイル時に行われる。 exp: #include<srook/mpl/cxx17/huffman_coding/huffman_encode.hpp> #include<iostream> #include<boost/type_index.hpp> template<class T> inline v</class></boost/type_index.hpp></iostream></srook/mpl/cxx17/huffman_coding/huffman_encode.hpp>…

数式をRecursive Descent Parsing

数式(四則演算記号 +, -, *, /、括弧、数値のみから成る式)の解析が知人間で少し話題になってたので自分もrustで書いてみる。数式をBNFで表現してからコードに落とし込んだ結果、以下のようになった。面倒なので、unwrap_orをチェックしていない。 fn num(ex…

カラー画像の原理からJPEGの圧縮原理までの学習メモ

なんとなくJPEGにおける基本的な概念の理解を固めようと思ったので、その学習メモ。尚、具体的な計算式の意味や証明には取組んでいない。 用語と定義 成分の集合を画素という。画素の集合がデジタル画像となる。 デジタル画像は小さな点の集合から成っている…

例題メモ

問題を作成したのでそのメモ。 Q 整数 という数列がある。その数列中からいくつかを選び、その和を とする。 任意の整数 、 、 を入力(任意の数値が設定できるのであれば何でもいい)し、上記の関係の数列であるか判別しなさい。 解法 この問題の解法は、BFS…