physics パッケージは物理で用いられる数学記号等を簡便に利用できるようにxparse パッケージを利用してコマンドを作成している.また,amsmath パッケージにも依存している.
import numpy as np | |
from tqdm import trange | |
def get_neighbour_matrix(x, L, R): | |
dx = np.subtract.outer(x[:, 0], x[:, 0]) | |
dy = np.subtract.outer(x[:, 1], x[:, 1]) | |
dx[dx > (L / 2) ** 2] -= (L / 2) ** 2 | |
dy[dy > (L / 2) ** 2] -= (L / 2) ** 2 | |
pair_dist = dx ** 2 + dy ** 2 |
# Get editor completions based on the config schema | |
"$schema" = 'https://starship.rs/config-schema.json' | |
format = """ | |
$username\ | |
$hostname\ | |
$localip\ | |
$shlvl\ | |
$singularity\ | |
$kubernetes\ |
査読の仕方についての覚書。初めて査読をすることになり、どうして良いかわからないような人向けに書いてある。分野、雑誌、個人によって流儀が異なるので、全てを鵜呑みにしないで欲しい。なお、私の専門は数値計算であり、主な査読経験はPhys. Rev.系、J. Chem. Phys.、そしてJPSJなどである。
査読システムに登場するプレイヤーは三種類、「著者」「エディタ」「査読者」である。
論文が投稿されると、まずエディタと呼ばれる研究者が論文を受け取る。エディタはその論文を読み、適切な査読者を選んで査読を依頼し、査読レポートを著者に送り、著者の反応を見て、最終的にその論文を出版するかどうか判断する。この一連の処理の責任を負うことを「ハンドルする」と呼んだりする。査読システムは著者と査読者のやりとりが主となるが、論文の生殺与奪権はエディタが握っており、実は最重要プレイヤーである。
# ~/.config/starship.toml | |
[character] | |
error_symbol = "[💔 :](bold red) " | |
success_symbol = "[🖥 :](bold green)" | |
[cmd_duration] | |
min_time = 10_000 # Show command duration over 10,000 milliseconds (=10 sec) | |
format = " took [$duration]($style)" |
using LinearAlgebra | |
function main() | |
# input data | |
train_data = read_data("./ml-100k/u.data") | |
n_user = length(unique([t[1] for t in train_data])) | |
n_item = length(unique([t[2] for t in train_data])) | |
# parameters | |
P, Q = fit(n_user, n_item, train_data) |
using LinearAlgebra | |
function main() | |
# input data | |
train_data = read_data("./ml-100k/u.data") | |
n_user = length(unique([t[1] for t in train_data])) | |
n_item = length(unique([t[2] for t in train_data])) | |
# parameters | |
P, Q = fit(n_user, n_item, train_data) |
2008年に新卒でソフトウェアエンジニアとしてグーグルに入社しました。2019年時点ですでに退職しています。
東京大学の電子電気情報学科という申し訳程度にコンピューターサイエンスをかじっているところから、そのまま修士課程に進学しました。研究分野は自然言語処理でした。大学がつまらなくて行かなくなった時期があり、留年して学部2年生を2回やっています。ただ勉強はかなりできたほうだと自覚しています。線形代数の試験で満点を取って授業中に名前を読み上げられたのを覚えています。大学院に進学してからは研究が面白くて土日や正月も関係なく研究室に通っていました。1月3日にどうせ誰もいないだろうと思いながら研究室に行ったら普段は忙しくて姿を見せない教授がいたのには驚きました。
プログラミングは大学に入ってから99%独学で身につけました。所属していたサークルのウェブサイトの管理をやることになったのがきっかけで、手打ちのHTMLを少しだけ書き変えることから始まり、JavaScriptでダイアログを出したり、Perlで掲示板CGIをつくったりと少しずつステップアップしていきました。できることが増えるたびに作りたいものが増え、作るたびにできることが増えと、どんどんプログラミングに没頭していきました。
最初の1〜2年のあいだは周囲にプログラミングをする人がいなかったので独りで手探りでやっていました。また、時代的にも、自分自身のリテラシー的にも、ウェブで自分が知りたいことをピンポイントで見つけることは現実的ではありませんでした。なのでプログラミングやコンピューターの知識はもっぱら本で身につけました。大学の図書館や本屋に通って棚の端から端まで目をとおしては今の自分に必要な知識を授けてくれそうな本を探すという毎日を送っていました。これはとても効率の悪いやりかたで、標準ライブラリ以外の、いわゆるサードパーティー製ライブラリというものがあることをしばらくのあいだ知らずにいて、ウェブクローラーをつくるのに生のTCPソケットの上に自前でHTTPを実装するところから始めるというような感じでした。大学を留年して暇を持てあましていたからできたのだと思いますが、このときのあらゆる困難を自力でブルドーザーのように薙ぎ倒していった経験は今でも自身のよりどころになっています。
2019年3月14日、Googleが円周率を31兆桁計算したと発表しました。このニュースを聞いて僕は「GoogleがノードまたぎFFTをやったのか!」と大変驚き、「円周率の計算には高度な技術が必要」みたいなことをつぶやきました。しかしその後、実際にはシングルノードで動作する円周率計算プログラム「y-cruncher」を無改造で使っていることを知り、「高度な技術が必要だとつぶやいたが、それは撤回」とつぶやきました。円周率の計算そのもののプログラムを開発していなかったとは言え、これだけマッシブにディスクアクセスのある計算を長時間安定実行するのは難しく、その意味においてこの挑戦は非自明なものだったのですが、まるでその運用技術のことまで否定したかのような書き方になってしまい、さらにそれが実際に計算を実行された方の目にもとまったようで、大変申し訳なく思っています。
このエントリでは、なぜ僕が「GoogleがノードまたぎFFT!?」と驚いたか、そんな話を書いてみたいと思います。
📝 企業を調べる時のメモ書きです。
- https://www.wantedly.com/
- https://jobs.forkwell.com/
- https://jp.indeed.com/
- 日本だとあんまり使ってる企業がいないけど、グローバルよりで日本でもやってる面白いものがたまに見つかる
- などの各種求人サイトを見る
- Note: 📝