タグ

ブックマーク / qiita.com/jabberwocky0139 (7)

  • (Python3)ノ 。oO(標準ライブラリ使ってる?) : 日陰者5選 - Qiita

    日陰者の関数たち Pythonはバッテリー同梱と言われるだけあってbuilt-in関数やら標準ライブラリやらがとっても充実しています. 一方で充実しすぎて日の目を見ない関数たちも多いように思います. これを書いたそもそもの動機はprint関数です. もっと評価されるべき. 旅行に行こう! 一度は以下に目を通しておきましょう: Python チュートリアル 及び 標準ライブラリミニツアー 標準ライブラリミニツアー その2 print この子自体は超有名ですが, その引数たちは日陰者かも? Python2ではprint文だったのが, Python3からprint関数になりました. 下位互換性をぶった切る以外にどんな意味があるのかと思っていましたが, よくよく見るとすごい便利な関数に進化していました: print(value, ..., sep=' ', end='\n', file=sys.s

    (Python3)ノ 。oO(標準ライブラリ使ってる?) : 日陰者5選 - Qiita
  • NumPy・SciPyによる高速化の実力を見る - Qiita

    あらまし 以前の記事でNumPy・SciPyの高速化にまつわる事柄を書きました: NumPyを用いた数値計算の高速化 : 基礎 NumPy・SciPyを用いた数値計算の高速化 : 応用その1 NumPy・SciPyを用いた数値計算の高速化 : 応用その2 ホントに早くなってるの?ちゃんと調べてみましょう. 調査方法 Pythonによるオレオレ実装と比較します. 速度よりシンプルさを重視した実装との比較なので正当な評価とは言い難いかもしれません. Pythonはanaconda3, 時間計測にはIPythonの%timeitを使用します. --実行環境-- OS : Ubuntu16.04 LTS 64bit Python : anaconda3-4.1.1 CPU : Intel Corei5 3550 (4-core / 4-thread) リストの初期化 たとえば行列の初期化です.

    NumPy・SciPyによる高速化の実力を見る - Qiita
  • NumPy・SciPyを用いた数値計算の高速化 : 落ち穂拾い - Qiita

    対象 Python及びNumPy初心者に向けて書いています. 「C言語は使えるけど最近Pythonを始めた」とか「Pythonらしい書き方がよくわからない」に該当する物理系の数値計算を目的とした方には特に有用かもしれません. また, 自分の不勉強のために間違った記述があるかもしれません. ご容赦ください. あらまし NumPyを用いた数値計算の高速化 : 基礎 NumPy・SciPyを用いた数値計算の高速化 : 応用その1 NumPy・SciPyを用いた数値計算の高速化 : 応用その2 のおまけになります. 細々とした話が中心になります. numpy関数とmath関数 numpyのユニバーサル関数はndarrayを引数にとってndarrayを返します. math関数はintかfloatしか取ることができません. math関数はcomplexも取れません. complexを渡したい場合はcm

    NumPy・SciPyを用いた数値計算の高速化 : 落ち穂拾い - Qiita
  • NumPyによる数値計算の高速化 : 基礎 - Qiita

    対象 Python及びNumPy初心者に向けて書いています. 「C言語は使えるけど最近Pythonを始めた」とか「Pythonらしい書き方がよくわからない」に該当する物理系の数値計算を目的とした方には特に有用かもしれません. また, 自分の不勉強のために間違った記述があるかもしれません. ご容赦ください. あらまし Pythonは数値計算系のライブラリが非常に充実しており, かつ使いやすくまとまっています. その多くはFortranで書かれた遺産のラッパーだったりするのですが, C/C++などから呼ぶよりもとても簡単です. 例えばC/C++からLAPACK1を呼んで固有値問題を計算しようとすると info = LAPACKE_zheevr(LAPACK_COL_MAJOR, 'V', 'A', 'L', H, (lapack_complex_double*)a, lda, vl, vu,

    NumPyによる数値計算の高速化 : 基礎 - Qiita
  • Effective Pythonはその名の通りEffectiveだった - Qiita

    あらまし Effective Pythonをかいつまんで読みました. とても良いだと思います. 自分はPython初級者だと思っているのですが, その自分がある程度じっくり考えて腑に落ちるレベルの事柄が載っていることから, 初級者と中級者の橋渡しをするという役目を十二分に果たしていると思います. 筆者はGoogleで大規模な開発に従事している方なので, 小さいコードばかり組んでいる自分には直感的に利便性が理解しづらい説明もいくらかあります. でもそれはBrett Slatkinのせいではありません. 自身の至らぬが故. 読んだだけでは忘れてしまいそうなので. 感心したポイントの一部をまとめておきたいと思います. ここで使用しているコードはGithub1にあります. 感心ポイント要約(販促) 一部抜粋して載せているので文脈が捉えづらいところもあると思いますが, 是非買って読んでみてください

    Effective Pythonはその名の通りEffectiveだった - Qiita
  • NumPy・SciPyを用いた数値計算の高速化 : 応用その2 - Qiita

    対象 Python及びNumPy初心者に向けて書いています. 「C言語は使えるけど最近Pythonを始めた」とか「Pythonらしい書き方がよくわからない」に該当する物理系の数値計算を目的とした方には特に有用かもしれません. また, 自分の不勉強のために間違った記述があるかもしれません. ご容赦ください. あらまし NumPyを用いた数値計算の高速化 : 基礎 NumPy・SciPyを用いた数値計算の高速化 : 応用その1 の続きになります. 基礎的な数値計算の手法を追っていきますが, 今回は少し発展的な内容も含みます. 代数方程式 / 超越方程式 代数方程式はいわゆる手で解けるふつうの方程式です. 超越方程式は随分大仰な名前ですが, 代数的な手法で解けない方程式のことを指します. 具体的には $$ \sin(x) = \frac{x}{2} $$ こんな子です. この方程式は, 「$\s

    NumPy・SciPyを用いた数値計算の高速化 : 応用その2 - Qiita
  • NumPy・SciPyを用いた数値計算の高速化 : 応用その1 - Qiita

    対象 Python及びNumPy初心者に向けて書いています. 「C言語は使えるけど最近Pythonを始めた」とか「Pythonらしい書き方がよくわからない」に該当する物理系の数値計算を目的とした方には特に有用かもしれません. また, 自分の不勉強のために間違った記述があるかもしれません. ご容赦ください. あらまし 内容はNumPyを用いた数値計算の高速化 : 基礎のつづきです. ndarrayのユニバーサル関数や演算を用いて可能な限りforループを使わずに基礎的な数値計算を実装していきます. 今回からSciPyも仲間に加わります. 以下ではNumPy・SciPyの関数の詳しい実装についてはあまりコメントしていないので, わからないことがあったら是非リファレンスを読んでみてください. 言わずもがな, 車輪の再発明をしないことがとっても大事です. 微分 物理の基礎方程式には微分がつきものです

    NumPy・SciPyを用いた数値計算の高速化 : 応用その1 - Qiita
  • 1