タグ

Mathに関するdankogaiのブックマーク (212)

  • Math - つがいは一緒に面倒見るのが吉な件 - Qiita

    というわけで続きです。 Math - 円周率を3.14どころか3.141592653589793としても丸く収まらなかった件 それではなぜPONSの三角関数がwrapAngleを利用するようになったのか。続きは次の記事で。 演算におけるつがい つがいになると、大事なことは一人ではなく相方と一緒にやることになります。映画鑑賞から子育てまで。「リア充爆発しろ」?つがいから見たら、よく「一人でやってて爆発しませんね」といったところかもしれません。 なぜつがいがつがいか。一人でやるよか楽(だ|しい)からに決まってるじゃないですか。 実は演算においても、そうしたつがいは少なくないのです。一番有名なのは除算における商(quotient)と余り(remainder)ですか。これはどちらかを計算しようとすると必ずもう片方も出てきます。 実はCにもdivという関数があって、これを使うとつがいのまま得られます

    Math - つがいは一緒に面倒見るのが吉な件 - Qiita
  • Math - 円周率を3.14どころか3.141592653589793としても丸く収まらなかった件 - Qiita

    public static func wrapAngle(x:Self, precision px:Int = 64)->Self { var angle = x let onepi = pi(px) if angle < -2*onepi || +2*onepi < angle { let precision = px + angle.toMixed().0.msbAt let twopi = 2*pi(precision) angle = angle % twopi angle.truncate(px) } if angle < -onepi { angle += 2*onepi } if +onepi < angle { angle -= 2*onepi } return angle } なんのことはない、「M_PIが正しくなければ、もっといい値を使えばいいのに」というわけです。その

    Math - 円周率を3.14どころか3.141592653589793としても丸く収まらなかった件 - Qiita
  • swift - PONSとAccelerateをマリアージュしたら通常の3倍の倍速くなった件 - Qiita

    PONSにUInt128を加えてみました。 任意精度をサポートしているのに、なぜ? そこにAccelerateがあったから。 Accelerateは来ヴェクター演算に用いられるライブラリ。とは言っても裸に近いライブラリで、生ですと腹が壊れかねないので(下記コードで生っぷりの片鱗を見ることができます)、SwiftでもSurgeとか有名なラッパーが出てます。 このAccelerate、実は小さな数をまとめて処理するだけではなく、大きな数を処理する機能も入ってたりします。ただし現時点で OS X のみ。 ならば… OS X では Accelerate を使って それ以外では BigInt に計算代行してもらえば 安価に(128|256|512)bit固定長整数が手に入るんじゃね? と先ほど思い立ってやってみたら実に安上がりに出来ました。とりあえずUInt128から。 public struc

    swift - PONSとAccelerateをマリアージュしたら通常の3倍の倍速くなった件 - Qiita
  • Swift - Introducing PONS = Protocol Oriented Number System - Qiita

    まだ荒削りですが、お披露目してもいいところまで来たので。 https://github.com/dankogai/swift-pons 売り口上 これでSwiftでも GMPとか外部ライブラリなしで任意精度整数(BigInt)や任意精度分数(BigRat)や任意精度浮動小数点数(BigFloat)が使えるようになります。 外部依存がないので、Xcodeでなくてもswiftcがあれば使えます。もちろんOS XだけでなくてLinuxもサポート その任意精度数も、四則演算以外の演算を最初からサポートしています。整数は素数判定できますし、任意精度実数は<math.h>の関数を使えます。 これだけでもかなりハッピーになれます。 でも当のウリは、そこじゃないんですよ… 承前: 古き良きCの時代 例えばman powとしてみます。こんな答えが返ってくるでしょう。 SYNOPSIS #include <

    Swift - Introducing PONS = Protocol Oriented Number System - Qiita
  • 「「0÷0=」を実行すると「エラー」になる理由」を見て割り切れない気持ちを抑えられない理由

    2015年12月03日19:30 カテゴリMath 「「0÷0=」を実行すると「エラー」になる理由」を見て割り切れない気持ちを抑えられない理由 異端の数ゼロ Charles Seife / 林大訳 [原著:Zero:The Biography of a Dangerous Idea] やはりblogにも書いておこう。SNSだけでは割り切れない気持ちが抑えられないので。 iPhoneアプリ「計算機」で「0÷0=」を実行すると「エラー」になる理由 - ねとらぼ 「計算機」アプリに限らず起こるもの。このように「0」で割ることを「ゼロ除算」と言い、割られる数をxとすると「x/0」と表すことはできるものの、これが何の値と結びつくのかは現時点で数学的に定義されていないため「成立しない」とされている。計算機などで「0」で割ると「エラー」と表示されるのはそういった理由からだ 違う、違うんだ。 数学は定義し

    「「0÷0=」を実行すると「エラー」になる理由」を見て割り切れない気持ちを抑えられない理由
    dankogai
    dankogai 2015/12/03
    久々の投稿
  • SwiftでInt型に素数かどうかまともに判定するメソッドを追加 - Qiita

    println(2.isPrime) // true println(42.isPrime) // false println(0x7FFFffff.isPrime) // true (M31) println(0.nextPrime) // 2 println(Int.max.prevPrime) // 9223372036854775783 on OS X println(Int.Prime.within(0..<100)) // [2, 3, 5, 7, ... 97] println(Int.Prime.within(Int.max-100..<Int.max)) // [9223372036854775783] DESCRIPTION 0...UInt.maxの範囲でまともな速度で判定します。 判定は軽く試し割りした後Miller-Rabin法で。後者は確率的アルゴリズムですが、

    SwiftでInt型に素数かどうかまともに判定するメソッドを追加 - Qiita
  • 404 Blog Not Found:石の模様 - 書評 - 思考する機械コンピュータ

    2014年06月06日05:00 カテゴリ書評/画評/品評Logos 石の模様 - 書評 - 思考する機械コンピュータ 思考する機械コンピュータ Daniel Hillis [原著:The Patter on the Stone] 2006.05.26 初出 2014.06.06 文庫化につき更新 Connection MachineのEntryを書いてから、原著の方をむしょうに読みたくなったのだが、入手がなかなか困難そうなので、The Society of Mindと一緒に買ったのがこちらだが、これはお薦め。 blogの読者であれば、訳がある場合でも私が原著を優先して紹介していることをご存じだと思う。「最も易しい解説書は原典」という持論もさることながら、入手が格段に容易になったという店点も大きい。かつて原著は都会の大書店でないと手に入らず、しかも現地買いより3-5割高く、そして取り寄

    404 Blog Not Found:石の模様 - 書評 - 思考する機械コンピュータ
    dankogai
    dankogai 2014/06/06
    文庫化されたので再紹介
  • Algorithm - 配列の冪集合、順列、組み合わせを再帰なしで作る : 404 Blog Not Found

    2013年03月08日11:00 カテゴリアルゴリズム百選Math Algorithm - 配列の冪集合、順列、組み合わせを再帰なしで作る C言語による最新アルゴリズム事典 奥村晴彦 ちょっと必要に迫られたので、JavaScript用のやつを作りました。 dankogai/js-combinatorics ・ GitHub こんな感じで使います。 var a = ['js', 'pl', 'py', 'rb'], c, e; p( '/* power set */' ); c = Combinatorics.power(a); p( 0 + c ); while (e = c.next()) p(JSON.stringify(e)); p( '/* combination */' ); c = Combinatorics.combination(a, 3); p( 0 + c ); p(J

    Algorithm - 配列の冪集合、順列、組み合わせを再帰なしで作る : 404 Blog Not Found
  • 数学は自然科学である。人文科学が自然科学であるように : 404 Blog Not Found

    2013年03月03日11:30 カテゴリMathSciTech 数学は自然科学である。人文科学が自然科学であるように 「中卒」でもわかる科学入門 小飼弾 もちろん、自然科学である。 数学は人文系である - モジログ 学問はしばしば、「自然科学(natural science)」、「社会科学(social science)」、「人文科学(humanities)」の3つに分けられる。この3つのなかで、数学はどこに属するだろうか 「次数」が異なるだけで。 自然科学は、人間が作ったものではない「自然」というものについて、その性質や規則性をさぐるものである。いっぽう、数学はすべて人間が作ったものであり、一種の言語体系である。数学は自然に属してはいないのだ。よって、数学は自然科学ではない ところがその人間は、自然が作ったものである。自然に含まれるのは自明。自然を研究するのが自然科学であるのであれば、

    数学は自然科学である。人文科学が自然科学であるように : 404 Blog Not Found
  • 紹介 - チューリングの大聖堂 : 404 Blog Not Found

    2013年02月22日10:45 カテゴリ書評/画評/品評SciTech 紹介 - チューリングの大聖堂 オビ、書きました。 チューリングの大聖堂 George Dyson / 吉田三知世訳 [原著:Turing's Cathedral] せっかく芥川賞受賞作家もオビに寄せているのに、私なんぞが蛇足していいのかというのはさておき。 これ、今年読むべき伝記No.0。 オビより チューリング・マシンという聖霊は、 いかにしてフォン・ノイマン・アーキテクチャーとして受肉したか。 電子計算機、ここに降臨。 内容紹介 グーグル、アマゾンが君臨する現代のデジタル世界は、もとをたどれば数学者チューリングの構想した「チューリングマシン」に行きつく。そして理論上の存在だったチューリングマシンを現実の装置として創りあげたのが万能の科学者フォン・ノイマンだ。彼の実現した「プログラム内蔵型」コンピュータが数に関す

    紹介 - チューリングの大聖堂 : 404 Blog Not Found
  • Math - おまいら素因数分解どうしてますか? : 404 Blog Not Found

    2013年02月15日13:00 カテゴリMathLightweight Languages Math - おまいら素因数分解どうしてますか? 数学ガール/乱択アルゴリズム 結城浩 みなさんは素因数分解の必要にせまられたとき、どうしてますか? たとえば、こんなとき。 挑戦者求む!【アルゴリズム】チョコの量を減らせ! by The Essence of Programming 結城 浩│CodeIQ 与えられた個数の立方体を組み上げて、できるだけ表面積の小さな直方体を作りましょうまあ小学生で習うぐらいですし、都度書き下ろしても大した事なさそうにも思えます。 /* works reliably only for 32-bit integer */ var primes = (function(sqrtmax) { var result = [2]; loop: for (var n = 3;

  • algorithm - PATRICIA に一番似合う姓は Crit-Bit かも : 404 Blog Not Found

    2013年02月14日04:30 カテゴリアルゴリズム百選Math algorithm - PATRICIA に一番似合う姓は Crit-Bit かも 高速文字列解析の世界 岡野原大輔 「高速文字列解析の世界」を読んだら、熱がぶりかえしてきたので。 ハッシュテーブルや平衡二分木に代わる連想配列を実装するにはどうしたらよいのかという、知恵熱が。 すべてのハッシュ衝突を、生まれる前に消し去りたい。すべての宇宙、過去と未来の全てのハッシュ衝突を、この手でなくてもいいから。 ハッシュテーブル - Wikipedia ハッシュテーブル (hash table) は、キーと値の組(エントリと呼ぶ)を複数個格納し、キーに対応する値をすばやく参照するためのデータ構造。ハッシュ表ともいう。ハッシュテーブルは連想配列や集合の最も効率的な実装のうち1つである ハッシュテーブルはあまりに愛用されてきたため、連想配

    algorithm - PATRICIA に一番似合う姓は Crit-Bit かも : 404 Blog Not Found
  • Math - 九九をまだ習っていない子に乗法の交換則を「しょうめい」してみる : 404 Blog Not Found

    2013年01月31日06:00 カテゴリMath Math - 九九をまだ習っていない子に乗法の交換則を「しょうめい」してみる かけ算には順序があるのか 高橋誠 この自転車置場の議論に関す私見は以前述べたのですが、今頃になってまた「発掘」するはめになったのは、寝込みうどんになっていたから。 48時間ほどそうなっていたのですが、「第一日」(夜行性につき「夜」でなくて「日」)に、来月でやっと一歳になるはずの甥らしき人物が、七歳ぐらいの姿で現れたのですね。悔し涙をためて。 で、先ほどの私見をくりかえしたら、こういいかえしてきたわけです。「だったらしょうめいしてよ!」って。困ったことに、その場ですらりとは返せず、「あうあう」のたまってるうちにそこで一度目を覚ましてしまいました。 で、寝床にふせたままiPadでぐぐってみると… 乗法 可換 証明 それでも自然数の積は可換である - 吾輩は馬鹿である

    Math - 九九をまだ習っていない子に乗法の交換則を「しょうめい」してみる : 404 Blog Not Found
  • 小学校には9÷0=0というオレルールがあるらしい。

    小学校で「0で割ったら0」という内容を教えているところがあるようです。自分の学校でもそうだ、という方がいらっしゃいましたらコメント欄に市区単位で場所をかいてください

    小学校には9÷0=0というオレルールがあるらしい。
    dankogai
    dankogai 2012/11/25
    便宜上 +∞ にしとく場合は結構あるが、0だと便宜も0だよなあ…/「解なし」という解を教える絶好の機会なんだが
  • 面白い仕事とは何か - 書評 - とんでもなく面白い 仕事に役立つ数学 : 404 Blog Not Found

    2012年09月11日22:30 カテゴリ書評/画評/品評Math 面白い仕事とは何か - 書評 - とんでもなく面白い 仕事に役立つ数学 出版社より献御礼。 とんでもなく面白い 仕事に役立つ数学 西成活裕 添え状より 「ものづくりの現場にもっと数学を!」 二重の意味で、禿同。「激しく同意」かつ「著者の禿頭にかけて同意」(失礼:-)。 以下、書の内容そのものというよりなぜ私がそれに同意するのかについて書く。書の実例はあまりに面白いのでそこをネタばれせずに紹介するにはそうする他なかったので。 書「とんでもなく面白い 仕事に役立つ数学」は、「渋滞学」「シゴトの渋滞、解消します!」の著者による、仕事場における数学のススメ。それにしてもこのタイトルもう少しどうにかならなかったか。説明的だけど退屈すぎだし、なにより前著「とんでもなく役に立つ数学」にかぶる。一般論だが学者な著者は、書名をもっと

    面白い仕事とは何か - 書評 - とんでもなく面白い 仕事に役立つ数学 : 404 Blog Not Found
    dankogai
    dankogai 2012/09/11
    あれ?DPCMそのものは可逆では?> id:mangakoji
  • ブラウザー上でJPEG圧縮して非可逆性を体感してみる : 404 Blog Not Found

    2012年09月09日16:00 カテゴリアルゴリズム百選Lightweight Languages ブラウザー上でJPEG圧縮して非可逆性を体感してみる 詳解 画像処理プログラミング C言語で実装する画像処理アルゴリズムのすべて 昌達慶仁 「GIMPでJPEGの蚊を退治して"PNG"化する」「javascript - で bilateral filter (選択的ガウスぼかし)を実装してみた」の反響で、「JPEGのqualityを100に設定すればいいんじゃね?」という誤解がかなり見受けられたので。 実際に体験していただければいいかと。 Demo: File APIを実装しているブラウザーで動きます。ファイルを読み込ませたら、Qualityをいろいろいじってみてください。元画像、JPEG、両者の差の順で表示されます。差の画像をクリックすると差をエンハンスしてくれます。ブラウザー別に以下の

    ブラウザー上でJPEG圧縮して非可逆性を体感してみる : 404 Blog Not Found
  • javascript - で bilateral filter (選択的ガウスぼかし)を実装してみた : 404 Blog Not Found

    2012年09月06日18:03 カテゴリアルゴリズム百選Math javascript - で bilateral filter (選択的ガウスぼかし)を実装してみた HTML5 Canvas Steve Fulton / Steve Fulton / 安藤 慶一訳 [原著:HTML5 Canvas] 「選択的ガウスぼかし」がえらい気に入ったので、アルゴリズムの学習も兼ねてJavaScriptでやってみたら思いの他使い物になりそうということで。 Demo: File APIを実装しているブラウザーで動きます。IEの方ごめんなさい。IEだと10以降になります。小さめのファイルを読み込ませて下さい。1024*1024ピクセルを一応の上限に設定してあります。(追記2021.11.29:上限を16Mピクセルまで上げました。その他CSS周り修正) Info: Source: Radius: Thr

    javascript - で bilateral filter (選択的ガウスぼかし)を実装してみた : 404 Blog Not Found
  • (define 独学 再帰) - 書評 - 素数夜曲:女王陛下のLisp : 404 Blog Not Found

    2012年07月16日01:45 カテゴリ書評/画評/品評Math (define 独学 再帰) - 書評 - 素数夜曲:女王陛下のLisp 素数夜曲: 女王陛下のLISP 吉田武 出版社より献御礼。 夏休み一つかけて取り組みたい吉田独習が、これでまた一つ。 404 Blog Not Found:This is THE -e^πi - 書評 - オイラーの贈物 新装版 404 Blog Not Found:伝われ、i - 書評 - 虚数の情緒 しかし、今度は紙と鉛筆に加えて、パソコンのご用意も。 書「素数夜曲」は副題が「女王陛下のLisp」なのだが、実質「素数夜曲」と「女王陛下のLisp」の合冊だといってよい「付録」となっている後者の分量は、「主題」のそれを上回る。 目次 - 東海大学出版会|書籍詳細>素数夜曲より 増補改訂版・序 第0夜 梟は黄昏に飛翔する 第1夜 素数のメロディー

    (define 独学 再帰) - 書評 - 素数夜曲:女王陛下のLisp : 404 Blog Not Found
  • 残り物には勝因がある - 新旧対決 - 数学入門/いかにして問題をとくか : 404 Blog Not Found

    2012年07月05日22:00 カテゴリ書評/画評/品評Math 残り物には勝因がある - 新旧対決 - 数学入門/いかにして問題をとくか いかにして問題をとくか 実践活用編 芳沢光雄 数学入門 小島寛之 双方とも出版社より献御礼。 どちらも古典中の古典に対する「挑戦」なのであるが、私の判定は、双方とも「防衛者の勝ち」。 しかしその理由が正反対なのが興味深かったので、あわせて紹介することにする。 「数学入門」も「いかにして問題をとくか 実践活用編」も、書名自体「旧書」と同じことからもわかるとおり、旧書を読んで育まれた著者たちが、旧書に対する最大限の尊敬を込めて著した「挑戦書」である。小島にせよ芳沢にせよ、現代日の一般向け数学書の書き手としては第一人者で、blogでも両者の手によるは事実上の常連である。それだけに私の期待も高く、両者ともその期待に見事にこたえてくれた。原著の著者たち

    残り物には勝因がある - 新旧対決 - 数学入門/いかにして問題をとくか : 404 Blog Not Found
  • 這いよれ!新言語 : 404 Blog Not Found

    2012年06月20日18:15 カテゴリ1st Day of AprilLightweight Languages 這いよれ!新言語 だとしたら… λ坂真尋がニャルラトリスプにすくわれて始まったアニメ #npca— hiromu1996 (@hiromu1996) June 20, 2012 この実装はないよねーBF方言を新言語と呼んで許されるのは小学生までだよねー 這い寄る混沌:「(」・ω・)」うー(/・ω・)/にゃー」でプログラムが書ける言語「Nyaruko」登場 - ねとらぼ 新言語Hotep(仮名) というわけで召還したのがこちら。名状しがたいんで仮にHotepとよぶことにします。 p( hotep('(」・ω・)」うー(/・ω・)/にゃー(/・ω・)/にゃー')(42) ); p( hotep('(」・ω・)」うー(」・ω・)」うー(」・ω・)」うー(/・ω・)/にゃー(」・ω

    這いよれ!新言語 : 404 Blog Not Found