倭算数理研究所

科学・数学・学習関連の記事を、「倭マン日記」とは別に書いていくのだ!

階乗進法

Scala で『Java によるアルゴリズム事典』のコードを書き換えてみようシリーズ(目次)。 今回は、階乗進法 (factorial representation) という数の表し方を見ていきます。階乗進法10進法が10を基数にしている、つまり10の累乗の級数で表されるのに対して、…

次の順列

Scala で『Java によるアルゴリズム事典』のコードを書き換えてみようシリーズ(目次)。 以前に置換のアルゴリズムを扱ったときに、『Java によるアルゴリズム事典』に「置換の生成」がなくておかしいなぁと思ってたら、「順列」「順列の生成」の項目にある…

チェックサムと ISBN 番号

Scala で『Java によるアルゴリズム事典』のコードを書き換えてみようシリーズ(目次)。 『Java によるアルゴリズム事典』で、関数型プログラミングで書きやすそうなアルゴリズムがあったので Scala で書いてみた。 今回は、データに誤りが無いかチェックす…

全置換の生成

『Java によるアルゴリズム事典』には載ってなかったんですが、n 個のモノの全置換を生成するコードを見ていきます(目次)。Scala では List などの順序付きのコレクション(正確には scala.collection.SeqLike トレイトのサブ型)では permutations() メソ…

置換の符号

Scala で『Java によるアルゴリズム事典』のコードを書き換えてみようシリーズ(目次)。 今回は指定された置換の符号を計算するアルゴリズム。 ここでは Java や Scala のコードで扱い易くするため、n 個の置換は1から n の整数ではなく、0から n-1 の整数…

Scala アルゴリズム事典

『Java によるアルゴリズム事典』に載ってるコードを Scala かつ再帰(できる限り末尾再帰)で書いていこうシリーズ。 と言っても、他のことで使うコードでこの本に載ってるアルゴリズムを使うときに記事更新するので、たまにしか記事書かないと思います。数…

高校数学で線型代数入門(番外編) ~行列式はどこからきたのか~

高校数学で線型代数(というか行列)をやってみようシリーズ(目次)。 次は行列式をやる予定なのですが、ベクトル(座標)の変換と行列式がどう関係しているかを導こうと思ってたらかなり長い記事になりそうだったので番外編として別に書くことにしました。…

高校数学で線型代数入門 (2) ~行列の演算~

高校数学で線型代数(というか行列)をやってみようシリーズ(目次)。 前回はベクトル(座標)の変換から行列を導入しましたが、今回はその行列に対して定義される和や積などの演算を見ていきます。この記事の内容 この記事の内容 参考 合成変換と行列の積 …

高校数学で線型代数入門 (1) ~行列の定義~

前回、軌跡を使ってグラフを回転する方法を見ましたが、ここまできたら行列を使わないのは逆に不自然な気もするので、簡単に行列(線型代数)に入門してみましょう。 数学的にあんまり(というかまったく)厳密ではないので、詳しくは専門書を参照のこと。シ…

グラフの回転を軌跡で理解する

数年前から高校数学で行列をやらなくなってグラフの回転ができなくなるなぁと思ってたんだけど*1、軌跡の問題だと思えば(言い張れば)今の高校数学の範囲内でグラフの回転を行うことができそうなので、実際にやってみます。 この記事内では回転は原点の周り…