まえがき この記事の目的 意図する対象読者 今回の整理の仕方(記事の見方) 注意 競プロに関係する数学(本題) 言葉(文系でも多分聞いたことはある)編 言葉(文系だと聞いたことないかも)編 言葉(離散数学)編 「式変形」編 「図形っぽいやつ」編 筆者のバックグラウンド 経歴、仕事など まえがき この記事では、競技プログラミングに関係する数学用語・概念と、それがどんな単元(分野)に属するものかを整理(一覧化)します。 競技プログラミングの問題に出てくる用語・概念をはじめ、競技プログラミングの解説記事などに出てくる用語・概念も、思いつく限り挙げています。 「この記事の数学的な部分、どのぐらい信用できるの?」とか、「数学苦手と言ってもどのくらい苦手なの?」といった疑問への参考としては、筆者のバックグラウンドを記事の最後で紹介したので、気になる方は先にそちらを読んでください。 この記事の目的 文系
Different themes for HTML export are supported now. Users can choose default minimal publication (LaTeX style) theme in user settings. about LaTeX style publication theme: view HTML publication. view PDF publication Download PDF paper Commutative diagrams are working now. Insert Table Of Content command available. Inject ToC at cursor location via Insert Table of Content from Command Palette (Ctrl
(7/3 14:05追記)Javaに関する記述について誤認があったので盛大に書き換えました。Java 6、Java 7、Java 8それぞれで実装が変わっていたようです。 (7/13 23:55追記)本記事中ではroundを四捨五入と言い切ってしまっています。これは筆者がC99のroundを基準に考えているためですが、言語によっては偶数丸めになっているround関数も珍しくありません。ご注意ください。 PHPのround関数について、ネット上で次のような記述を見つけました。 PHP 四捨五入の計算を間違える唯一の言語として畏れられていましたが、そのバグは治っているかもしれません(治ってないかもしれません) 主要なプログラミング言語8種をぐったり解説 - 鍋あり谷あり 各言語を面白おかしく紹介する内容とはいえ、ずいぶん雑な理解だなーという印象です。ゆるふわな話だけでPHPがdisられ続けるの
前回は、numpyで行列を扱いました。 今回は、matploblibで折れ線グラフを書きます。 軸の名前とか色とかそういうグラフの体裁周りの話はまた今度書きます。 他のヒストグラムとかも次回にします。 以前のお話はこちら matplotlibでグラフを書く - たこ焼き食べた.net はじめに(pylabとmatplotlib) グラフの描画にはmatplotlibというライブラリを用います。 これには、pylabというモジュールが用意されています。 これは、 matplotlib.pyplot内にあるプロット用の関数 numpyの関数 matplotlib.mlabにある関数 を提供しているので非常に使い勝手が良いです。 というわけで、ここから先、しばらくは、 from pylab import * としてpylabをインポートしていきます。 matplotlibのサンプルを見ていると、
If you are not redirected automatically, follow this link/a>.
Sources are available from github. All code and material is licensed under a Creative Commons Attribution-ShareAlike 4.0. Tutorial can be read at http://www.labri.fr/perso/nrougier/teaching/numpy/numpy.html See also: Matplotlib tutorial 100 Numpy exercices Introduction NumPy is the fundamental package for scientific computing with Python. It contains among other things: → a powerful N-dimensional
演算子の優先順位(えんざんしのゆうせんじゅんい、英: precedence of operators)とは、演算子を利用しているような数式などが、どのように結び付いてグループ化されるべきであるかを、優先順位すなわち構文における優先度の強弱によって、あらかじめ暗黙に定めた規則である。数学ではしばしば、目的のために新しい演算子を導入することがあるが、そういう場合に優先順位があるのなら共通の暗黙の諒解は無いのだから規則を明示する必要がある。また、プログラミング言語では以下に述べるような規則の場合もあるが、APLのように優先順位は無く常に右から左に計算する、というような言語もあるといったように、その言語の設計者の考え方次第である。 算数(初等教育での数学)などが採用している規則では、乗除の演算子は加減の演算子より優先順位が高い。この規則により、2 + 3 × 4 という式における結び付きは、括弧で
■目次 MathJaxとは何ぞや? 早速使ってみよう! MathJaxの読み込み インライン数式とディスプレイ数式 簡単な式の例 カスタマイズする ディスプレイ数式を左寄せする タグ(式番号)を左側につける 自動ナンバリング タグを[~]で表示する 数式用フォントあれこれ 数式を書く 不等号についての注意 マクロ機能 タグ(式番号) 関連リンク集 MathJaxは高品質な数式の整形・表示を実現する、オープンソースのJavaScriptライブラリです。すべてのモダンブラウザ(モバイル版含む)で動作します。クライアント側の事前準備(プラグインのインストール、ブラウザの設定、etc.)は一切不要です。 MathJaxは数式用のWebフォントを使って数式をタイプセットします。画像化する方式と違いテキストベースなので、拡大したり高解像度で印刷しても鮮明さが損なわれません。また、検索性の高さなどのメリ
このページでは、NumPy を用いて線形代数 (Linear Algebra) の計算を解く方法について解説します。 ベクトルのドット積 (点乗積) ドット積 (a・b) は、np.dot(a, b) で計算できます。 ドット積は、1 次元配列ではベクトルの内積、2 次元配列では行列の積と同じ結果になります。 サンプルコード import numpy as np # 整数同士のドット積(通常の掛け算と同じになります) # 3・4 np.dot(3, 4) # 行列同士のドット積 # (2, 3)・(2, 3) np.dot([2, 3], [2, 3]) # 複素数を扱うこともできます # (2j, 3j)・(2j, 3j) np.dot([2j, 3j], [2j, 3j]) # 2 次元行列同士のドット積を計算できます。 a = [[1, 0], [0, 1]] b = [[4, 1]
matplotlibはPythonでグラフを描画するときなどに使われる標準的なライブラリです。 画像ファイルを作るばかりでなく、簡単なアニメーションやインタラクティブなグラフを作ることも可能です。 実際の例はmatplotlibサイトのギャラリーで見ることができます。 matplotlib/gallery matplotlibは本家のサイトやどこかのブログにあるチュートリアルや例を描画してみるぶんには簡単なのですが、 実際に自分でプロットするとなると基礎的な概念を理解していないと使いにくいライブラリでもあります。 また、基礎的な概念を理解していないとドキュメントを参照する際にもどこを見て、どう実用すればいいのかわかりません。 そこで、この記事ではそのあたりのmatplotlibの基礎を解説していきます。 なお、Python自体の知識はある程度仮定していますが、matplotlib自体の実装
[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...
thriftとかhadoopなど,何やらいろいろと手を出してしまい,ここのところブログの更新が滞ってしまっていますが,今日は前から書きたかったトピックについて自分へのメモの意味も含めて記しておきたいと思います. はじめに 最近,といっても結構前からなのですが,海外のブログなどで「機械学習の勉強を始めるガイドライン」についてのエントリーがいくつか見られ,かつ,議論も少し盛り上がっています.僕は機械学習が好きなだけで,専門というにはほど遠いのですが,僕も一利 用者としてはこのトピックに関してはとても興味があります. 機械学習というと,色々な数学的な知識が必要であったり,統計学や人工知能の知識も必要になったりしまったりと,専門的に学ぶ機会が無かった人にとっては興味が湧いてもなかなか始めるには尻込みしてしまうことかと思います.今日紹介するエントリーは, そんな方々にヒントになるような内容になっ
2015年12月17日、Google Chrome の JavaScript エンジン(処理系)である V8 の公式ブログにて、 JavaScript の標準的な乱数生成APIである Math.random() の背後で使われているアルゴリズムの変更がアナウンスされました。 Math.random() 関数は JavaScript を利用する際には比較的よく使われる関数ですので、親しみのある方も多いのではないかと思います。 新たなバグの発見や、従来より優秀なアルゴリズムの発見によってアルゴリズムが変更されること自体はそれほど珍しくはないものの、 技術的には枯れていると思われる Math.random() のような基本的な処理の背後のアルゴリズムが変更されたことに驚きを感じる方も少なくないかと思いますが、 それ以上に注目すべきはその変更後のアルゴリズムです。 実際に採用されたアルゴリズムの原
物理学や情報科学を学ぶ中で数学の一分野である「群論」の知識が必要となる場面が多々あります。 しかしながら群論は抽象数学の入門的な分野であり、抽象数学に慣れ親しんだ方でないとなかなか厳しい物があると思います。 実は群論を学ぶためには微積分や行列・線形代数といった高度な前提知識は全く必要なく、 中学生程度の数学の知識さえあれば理解できるはずなのですが、 基本的な考え方が非常に抽象的ですので、 東大の情報科学科の学生であってもかなり苦労しているようです(筆者調べ)。 確かに群論を系統的に学ぼうとすると抽象的な概念が多く、躓くとこも多いと思いますが、 情報科学や暗号理論で必要な最低限の知識のみに絞れば、さほど難しくはありません。 また、必要な前提知識も先程述べたように中学生レベルの数学の知識のみですので、 文系の方でも十分理解していただける内容だと思います。 そこで本記事では、これから群論を学ぼう
オンラインアルゴリズムとは、データが逐次的に入ってきた時にも計算できるアルゴリズムのことである。 データを全て見た上で計算するバッチ(オフライン)アルゴリズムと対比してこう呼ばれる。 オンラインアルゴリズムは、すべてのデータをメモリ上に保持しておくのが厳しいような大規模データを扱う場合などによく使われる。機械学習の文脈でよく見かけるかもしれない。機械学習の文脈だと割と理論的に難しい物が多いが、平均、分散、サンプリングなどは簡単なシステムを作るときにも割とよく使うので、データが逐次的に来ても処理が書けるようになっておくと幸せになれることもあるはず。 今回は、平均値の逐次計算についてだけやり方を書いておく。 平均値の逐次計算 averageを求めたい平均値、totalを今までに処理したデータの個数として、 以下の形で記述できるようにすることを目標とする。
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
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く