タグ

す数学とプログラミングに関するmidnightseminarのブックマーク (4)

  • 浮動小数点数型と誤差

    有限桁 C言語で扱える実数値は,2進数の有限小数で表された数値である.例えば次のようなものである. 1.5(10) = 1.1(2) 3.25(10) = 11.01(2) 理論的には小数が無限に続く値でも,そのうちの有限個の桁数でその値を表すしかない. 例えば,0.1 を2進数の小数で表すと 0.1(10) = 0.000110011001100110011...(2) と無限に続くが,コンピュータの内部では有限桁で丸められている. このような場合には,当の値ではなく,近似値でしか表すことができない. 指数表記(浮動小数点表記) 科学計算では非常に大きな実数値や非常に小さな実数値も扱うことがある. そのようなときには,通常の10進数の表記ではなくて,次のような指数表記で表すれば 無駄な 000...000 という桁を表記しなくてもよくなる. 1234567890000000000000

    浮動小数点数型と誤差
  • Mathematicaで任意画像の輪郭を数式に変換する - チューリング不完全

    330個の1000次方程式によるまどかマギカ  pic.twitter.com/QnuOhXQfiT— りんご (@aomoriringo) November 27, 2013 上記のような、任意の画像の輪郭を数式に変換するプログラムを紹介します。 発端 Wolfram|Alphaには「Person Curve」と呼ばれる類の検索結果が存在し、「Barack Obama Curve」「Hatsune Miku like curve」とか検索すると、その人物・キャラを表したパラメトリック方程式とそのプロット結果が表示されます。 これについては以下に示すようにたくさんの記事があり、存在自体は早くから知っていました。 数式が解明されてしまった初音ミク。その他キャラクターを色々試してみました | と杓子 http://nlab.itmedia.co.jp/nl/articles/1305/02/

    Mathematicaで任意画像の輪郭を数式に変換する - チューリング不完全
  • スパコンで約2時間36分かかったという、5×5の魔方陣の全解列挙を、パソコンで試す(C ) | 配電盤

    魔方陣の解の列挙は並列化しやすそうな問題ですが、ここでの方針では、探索効率を上げるためには条件分岐が不可欠なので、(「数」を求めるだけだとしても)GPGPUでうまくやる方法がわかりません。そこで、CPUに載っているコアのみで並列化します(Xeon Phiなら簡単なのでしょうか→追記参照)。 一番外側の、0から(1<<25)-1まで変化する変数iのループをOpenMPで並列化します(schedule(guided)では遅くなります。schedule(auto)はVisual C++でサポートされたら試します)。変数iは上の図の緑の部分(カンで5個にしました)を各数5ビットで表現し、つなげたものです。マスに入りうる数は1から25までなので、5ビットというのはちょっと冗長ですが、とりあえずはよしとしましょう。 出力はバイナリ形式で、1つの解に25バイト使います(1つのマスに入る数を1バイトで表現

    スパコンで約2時間36分かかったという、5×5の魔方陣の全解列挙を、パソコンで試す(C ) | 配電盤
  • 違法素数 - Wikipedia

    違法素数(いほうそすう/英: illegal prime)とは、素数のうち、違法となるような情報やコンピュータプログラムを含む数字。違法数(英語版)の一種である。 2001年、違法素数の1つが発見された。この数はある規則に従って変換すると、DVDのデジタル著作権管理を回避するコンピュータプログラムとして実行可能であり、そのプログラムはアメリカ合衆国のデジタルミレニアム著作権法で違法とされている[1]。 経緯[編集] DVDのコピーガードを破るコンピュータプログラムDeCSSのソースコード 1999年、ヨン・レック・ヨハンセンはDVDのコピーガード (Content Scramble System; CSS)を破るコンピュータプログラム「DeCSS」を発表した。ところが2001年5月30日、アメリカ合衆国の裁判所は、このプログラムの使用を違法としただけではなく、ソースコードの公表も違法である

  • 1