タグ

ProgrammingとMathに関するikajigokuのブックマーク (3)

  • 物理次元型を持つ静的型付け言語「Numbat」の紹介 - Qiita

    単位ミスが招く重大事故 「マーズ・クライメイト・オービター」をご存知でしょうか。火星の気象調査をミッションとして、NASAが1998年に打ち上げた探査機です。1億2500万ドルを費やして作られたこの探査機は、務に就く前に火星周回軌道内で炎上、そのまま消息を絶ちました。原因はヤード・ポンド法単位とメートル法単位の取り違え。 かの有名な「もう助からないゾ♡」の事故もやはり単位変換ミスが発端でした。人類史上において、不適切な単位の取り扱いが悲惨な事故に繋がる例は枚挙にいとまがありません。 プログラミングにおいても同じです。接頭辞の変換を忘れたり、numpyの三角関数にradianではなくdegreeで角度を与えて時間を溶かした人は私だけではないでしょう1。もっと安全・便利に数値を扱えるように人類をサポートする仕組みが必要です。 ......そんな感じの問題意識から生まれたプログラミング言語、そ

    物理次元型を持つ静的型付け言語「Numbat」の紹介 - Qiita
    ikajigoku
    ikajigoku 2025/05/18
    おもしろい
  • できるだけ嘘を書かずに計算量やオーダーの説明をしようとした記事 - えびちゃんの日記

    計算量についてのお話です。対象は、プログラミング経験はあるが計算量のことを知らない初心者から、計算量のことを知っているつもりになっている中級者くらいです。 数式を見たくない人にとっては読むのが大変かもですが、深呼吸しつつ落ちついて読んでくれるとうれしいです。 それから、この記事が自分には合わないな〜と思ったときは、(別の記事を Qiita とかで検索するよりも)この記事の一番下の 参考文献 にあるを読むことをおすすめします。Amazon の試し読みで無料で読めます*1。 TL; DR 関数の増加度合いのことをオーダーと呼ぶよ 計算量は、入力サイズ(など)を受け取ってアルゴリズムの計算回数(など)を返す関数だよ その関数のオーダーについての議論がよく行われるよ オーダーを上から抑えるときは \(O\)、下から抑えるときは \(\Omega\) を使うよ オーダーを上下両方から抑えたいときは

    できるだけ嘘を書かずに計算量やオーダーの説明をしようとした記事 - えびちゃんの日記
  • 高次元立方体を描く - 標高+1m

    先日の記事で触れたように、次元数の軸が、どれかの次元の軸についての方程式になっていた場合どんな挙動になるのかの実験のためにn次元単位立体を描画するプログラムを書いています。プログラマだと実験の道具を自分の指先でちょちょいと作れてとても便利。 今日の夕方にJSFiddleで暇つぶしに書いていたら、n次元(0含む)の立方体の辺を描画するものが呆気ないほど簡単にできてしまいました。 超立方体 - Wikipedia 正八胞体 - Wikipedia 5次元立方体のワイヤフレーム。コード末尾の方のstateのdが次元数(軸の数)。"Edit in JSFiddle"から、この数値を変えたりして実験できます。 gistはココ: gist: Draw n-dimentional cube on canvas. あくまでスクリプト的なコードで、効率などは無視していますが、わりかしシンプルに表現できました

    高次元立方体を描く - 標高+1m
  • 1