タグ

mathに関するnfunatoのブックマーク (381)

  • Common LispでFizzBuzzを解いてみた - cyblue9's blog

    Ruby FizzBuzz最短コードメモ (51bytes) ネタバレ注意 - Qiitaを見て、Common Lispでは何byteで書けるかな?と思ったのでやってみた。 結論から言うと、あまり短いコードは書けなかった(技量的に)。しかしながら、面白いことを2つ発見したのでまとめておく。 負の剰余 Cで配列のインデックスを指定する場合や素数判定のプログラムを書くときに剰余演算子を用いたことはあった。そのときは正の剰余を想定して書いたので、負の剰余のことなぞ考えたこともなかった。しかし、上記の記事では負の剰余を用いており、ではCommon Lispではどうなるのかな?と思ったのでまとめてみた。処理系はCCL1.6。 n (mod n 15) (mod n -15) (mod -n 15) (mod -n -15) 1 1 -14 14 -1 2 2 -13 13 -2 3 3 -12 12

    Common LispでFizzBuzzを解いてみた - cyblue9's blog
  • FizzBuzz Code Golf Competition - HackerRank Blog

    Written By Harishankaran Karunanidhi | December 20, 2012 FizzBuzz is a simple coding challenge that challenges coders to write the most basic code. Popularized by Jeff Atwood, in FizzBuzz you print the numbers from 1 to 100. But you replace numbers divisible by 3 with “Fizz”, and all other numbers divisible by 5 with “Buzz”. This past Friday, HackerRank launched a FizzBuzz competition with a twist

    FizzBuzz Code Golf Competition - HackerRank Blog
  • Ruby FizzBuzz最短コードメモ (51bytes) ネタバレ注意 - Qiita

    1.upto(100) do |n| i = (n ** 4 % -15) str = "FizzBuzz\n"[i, i + 13] if str puts str else puts n end end "FizzBuzz\n"から[]メソッドで必要な文字列を抜き出している。 []はインデックス・長さを指定して文字列を取り出せる。(String#sliceと同じ) 例えば"abc"[1, 1]だと、1番目から1文字を抜き出すので"b"が返る。 []のインデックスの調整の為、末尾に無駄な1文字が必要なので改行を挿入している。(putsで無視される) 元のコードでは、改行を直接入力することで\nと書くよりも1バイト短くなっている。 この為、一行では記述出来ない。 n ** 4 % -15って何 []のインデックス部分には、n ** 4 % -15という式が入っている。 また、同時に変数iを

    Ruby FizzBuzz最短コードメモ (51bytes) ネタバレ注意 - Qiita
  • Python (NumPy) と Common Lisp (LLA) で行列積の実行速度を比較する - 不確定特異点

    近年、機械学習や Deep Learning などのデータサイエンス分野を筆頭に数値計算の需要が高まってますが、その中でよく使われているのが Python の NumPy というライブラリです。NumPy を使うことで、動的で柔軟なスクリプト言語上で比較的高速に数値計算が可能になり、NumPy を使った SciPy や matplotlib などのライブラリも充実していることから、近頃の Python 人気が高まっているのだと思います。 個人的には Common Lisp が好きなので、NumPy との速度差が気になるところです。そこで単精度浮動小数点数を要素とする100行100列の行列積を対象に、Python、Common Lisp、C でベンチマークをとって比較してみました。(あ、ちなみに僕は Python も好きですよ。) 実行環境は以下の通りです。 $ uname -a Linux

    Python (NumPy) と Common Lisp (LLA) で行列積の実行速度を比較する - 不確定特異点
  • 理論的裏付~シャノン・ハートレーの定理から分かる、情報量と信号電力・ノイズ電力の関係~ | おすすめ!アンテナとブースター、それにケーブルの選び方

    nfunato
    nfunato 2015/09/25
  • 大学の理工系の講義ノートPDFまとめ (数学・物理・情報・工学) - 主に言語とシステム開発に関して

    大学と大学院の,理工系の講義ノートPDFのまとめ。 PDF形式の教科書に加え,試験問題と解答,および授業の動画も集めた。 学生・社会人を問わず,ぜひ独学の勉強に役立ててほしい。 内容は随時,追加・更新される。 (※現在,60科目以上) カテゴリ別の目次: (1) 数学の講義ノート (2) 物理学の講義ノート (3) 情報科学の講義ノート (4) 工学の講義ノート ※院試の問題と解答のまとめはこちら。 (1)数学の講義ノート 解析学: 解析学の基礎 (大学1年で学ぶ,1変数と多変数の微分・積分) 複素解析・複素関数論 (函数論) ルベーグ積分 (測度論と確率論の入門) 関数解析 (Functional Analysis) 代数: 線形代数 (行列論と抽象線形代数) 群論入門・代数学 (群・環・体) 有限群論 (群の表現論) 微分方程式: 常微分方程式 (解析的および記号的な求解) 偏微分方程

    大学の理工系の講義ノートPDFまとめ (数学・物理・情報・工学) - 主に言語とシステム開発に関して
  • n-best を数式で表現する方法 - ny23の日記

    集合 の各要素に対して,スコア関数 が定義されているとき,その集合中のスコアの上位 n 要素から構成される部分集合 を数式で書きたくなった(ただし,スコア関数は単射とし, は一意に定まるとする).n-best がタイトルに入った論文などを色々見てみたが,ほとんど言葉で定義されていて,数式で書いているものは少ない.すぐ思いつくのは, 外延的記法っぽいの(帰納的定義): として, 内包的記法っぽいの(n-部分集合+条件): 裏技: \argmax 的に部分集合を返す \nbest (\argmaxN) を定義する どれも微妙だ.mimetex の表示品質ぐらい気に入らないが,強いて言えば一つ目が一番ましか.まどろっこしい書き方だが,一番スコアが高いものから一つずつ選ぶというのを補助関数無しで表現するとこうなる.二つ目は短いけど,どんな集合を意味しているか分かりにくいのが玉に瑕.三つ目は最終手段

    n-best を数式で表現する方法 - ny23の日記
  • プログラマのための線形代数再入門

    The document describes various probability distributions that can arise from combining Bernoulli random variables. It shows how a binomial distribution emerges from summing Bernoulli random variables, and how Poisson, normal, chi-squared, exponential, gamma, and inverse gamma distributions can approximate the binomial as the number of Bernoulli trials increases. Code examples in R are provided to

    プログラマのための線形代数再入門
  • 離散数学リンク集

    http://logic.cs.tsukuba.ac.jp/~kam/lecture/discrete2013/text/main.pdf

  • ベクトル/行列演算の定番ライブラリEigen - Qiita

    ベクトル/行列演算の定番ライブラリEigen (日語解説のサイトまとめと便利な機能紹介) Eigenとは C++の行列/ベクトルを扱うライブラリ(公式). Eigenの主な特長 行列演算を直感的に書くことが出来る. ヘッダーファイルのみのライブラリのため,ライブラリのビルドやリンクが必要なく組み込やすい. 高速.他のライブラリとの比較ベンチマークはこちら(公式) 解説サイト(すべて日語) Eigen - C++で使える線形代数ライブラリ(でらうま倶楽部)- 基的な使い方とも幾何変換,クォータニオンなどの解説もあり. Eigen ー C++で線形代数を!(singular point)- 3回のポストで,幅広い機能について解説している. Robotics/Eigen(NAIST::OnlineText)- 基的な機能の他に行列分解についても解説あり. Eigenの使い方 Eigenは

    ベクトル/行列演算の定番ライブラリEigen - Qiita
  • ラグランジェの未定乗数法 [物理のかぎしっぽ]

    ラグランジェの未定乗数法というのは,「拘束条件がある関数」の極値を求める数学的テクニックです. とても重要な計算テクニックなので,ここで紹介します. この節では,最初にいきなり計算の仕方を紹介します. 計算だけを読んでも覚えにくいと思いますので,最後に例題も載せます. 例題をやりながらまた最初の説明に戻る,ということを何度か繰り返してみてください. 幾つか問題を解いてみれば,便利さを体感して頂けると思います. 一回なんとなく理解しておけば,忘れてしまっても, また使うときに「物理のかぎしっぽ」のページで復習すれば良いだけです. (※変数に付加的な条件式のことを,ここでは拘束条件と呼んでいます.) ここで , , が互いに独立ならば話は簡単で, 偏導関数 , , を連立して解けば良いだけですね. ( の右下に小さく とか とか書いてあるのは, を や で偏微分したという略記号です.慣れておく

  • A curious determinantal inequality

    nfunato
    nfunato 2015/07/02
  • Amazon.co.jp: プロの数学―大学数学への入門コース―: 松野陽一郎: 本

    Amazon.co.jp: プロの数学―大学数学への入門コース―: 松野陽一郎: 本
  • 共役部分群と正規部分群 [物理のかぎしっぽ]

    群 の部分群 に対し, のある元 を使って, と表わせる部分群を Hの共役部分群 と呼びます.いままで,主に元にだけ考えていた,共役を取るという操作を,群にまで拡張したわけです. 例1 4次の対称群 に対し, を生成元とする巡回部分群 を考えます.この部分群 に対し, の元 によって生成される共役部分群を定義に従って求めてみます. よって, の による共役部分群は だと分かります. 正規化群 群 が, の部分群全てからなる集合 (つまり, の個々の元は の部分群!)に対する共役作用を考えるとき, のある元 の軌道は, と共役な部分群の全体になります. このとき, の固定部分群になっている の部分群を, Hの正規化群 と呼びます. の正規化群 は次式で表わせるでしょう. 正規化群の元は,群 の元です. や と混乱しないようにして下さい. 中心化群の定義は,元 に関して共役を考え, を満たすよ

    nfunato
    nfunato 2015/06/24
  • エルミート行列とユニタリー行列の関係 [物理のかぎしっぽ]

    量子力学でもお馴染みの話です. エルミート行列 ならば,ユニタリー行列 で挟むことによって対角化し,対角行列 とできます. では,逆にユニタリー行列 で対角化できる行列 は,エルミート行列しかないの? という疑問に答えるのがこの記事です.簡単の為,3次行列で話を進めます. 条件を整理する 列ベクトル をユニタリー行列の成分とします. つまり, です.すると,その逆行列は,エルミート共役(共役転置)をダガー で表すと, となります.対角化された行列を次のように とします.

    エルミート行列とユニタリー行列の関係 [物理のかぎしっぽ]
    nfunato
    nfunato 2015/05/28
  • 位相空間・質問箱

    数学に,はずかしい質問はない,はずかしい答えがあるだけだ。 -ご質問はこちらへ- これまでの質問と回答コーナー メール上に数式を書くためのヒント 質問メールの宛先 echohta*shizuoka.ac.jp(* を @ に変えて下さい。) メールの件名欄に,質問である旨をお書き下さい。 ご質問の際には(できれば)簡単な自己紹介をお書き下さい。 ご質問は原則として「これまでの質問と回答コーナー」で,お名前をイニシャルに変えて紹介します。 『深めよう位相空間 - カントール集合から位相次元まで』 のページ 新刊! 2023. 9. 30 日評論社より好評発売中 『楽しもう射影平面 - 目で見る組合せトポロジーと射影幾何学』 のページ 『はじめての集合と位相』のページ 『高校と大学をむすぶ幾何学』のページ 『はじめよう位相空間』のページ 『解いてみよう位相空間・改訂版』のページ 日評論社よ

    nfunato
    nfunato 2015/05/19
  • Common Lisp の数値計算ライブラリ

    Python には Numpyのようなライブラリがあるが Lisp では Python のように手軽に環境を構築できない. そこで Lisp の数値計算用のライブラリを探した.そこで見つけたのが MatLisp このサイトを見るとわかるように全く更新されていないが github で検索をかけたら https://github.com/matlisp/matlisp を見つけた誰かが保守しているみたい.これでFFTや行列計算が手軽にできるがNumpy や Matlab のようにたくさんの関数がサポートされていないのでそのあたりの関数は自作するか新しく見つける必要がある.

  • - 数理情報学研究室

    研究室を希望する方は、入学前に以下の勉強をしておくといいでしょう. 数学は大学教養レベルの線形代数と微積分は必須です.たとえば下記サイトに出てくる問題は解けるようにしておいて下さい. 茨城大学教育学部 梅津准教授のページ 広島工業大学 横田教授のページ 福岡大学理学部 山田教授のページ 数学に自身のない人は,下記のページで自習するといいでしょう. 数学速成コース 英語力は必須です.たとえば下記サイトなどを参照しておくといいでしょう. 岡山大学 金谷教授のページ 英語喫茶のページ 確率・統計についても,入門書を挙げておきます. 佐和隆光: 回帰分析 村田昇: 新版 情報理論の基礎 芝浦工業大学 横田壽教授の数理情報研究室の数学学習教材 BMIに興味がある人は,以下の一般書も参考になります. 川人光男: 脳の情報を読み解くーBMIが開く未来,朝日新聞出版 以下は必須ではありませんが,より専門

    nfunato
    nfunato 2015/05/05
  • http://www.colorforth.com/pi.htm

  • GNU Emacs Calc 2.02 マニュアル - Solving Systems of Equations

    Go to the first, previous, next, last section, table of contents. 連立方程式を解く 上述のコマンド群は連立方程式を解くために使うこともできます。 方程式群のベクトル(並び)を作り、解きたい変数のベクトル(並び)を指定するだけです。 (プロンプトに対し変数のベクトルを入力するとき、 周りのカッコを省略することができます。) 例えば、スタックに `[x + y = a, x - y = b]' を置いて a S x,y RET とタイプすると、 解のベクトル `[x = a - (a-b)/2, y = (a-b)/2]' を生成します。 解のベクトルの要素数は変数ベクトルと同じで、しかも同じ順序に並べられます。 注意: 解は充分に簡単化されているとは限りません。 この場合では、x の解に a n コマンドを適用するとさらに改善