C言語でinput for Paiza

Paizaのプログラミングスキルチェックというサービスがあります。

ITプログラマー・エンジニア転職のpaiza転職

競技プログラミングのような問題を様々な言語で解くことができるのでとても良い勉強になります。 しかし、スコアを出すためには制限時間内に問題を解かなくてはなりません。
色々な言語を使ってやっていると毎回「あれ? inputどうやってやるんだっけ?」ということに陥ってそこで無駄に時間を過ごしてしまいます。

なので今回はC言語で簡単にPaizaなどで使えるようなinputの方法をメモしておきました。

続きを読む

PythonでRungeKutta

  • solve_RK() 説明
    • 引数
    • 戻り値
    • コード
    • 使用例
      • コード例
        • 参考:

Python微分方程式を解きます。アルゴリズムはRungeKutta法を使います。
忘れた頃に定期的に必要になってくるのでここに関数化して書いておきます。
下にコードがあるのでコピペして使ってください。

続きを読む

デブサミ de:code2017前夜祭レポート

Developers Summit code your future ~エッジな技術領域とエンジニアのキャリアデザインについて語ろう~

de:code2017の前夜祭(day0)に行ってきました。

f:id:mashiroyuya:20170522235824j:plain

明日から始まるMicrsoft主催の大きな技術カンファレンス、decode2017の前夜祭として行われたデブサミでしたが、美味しいご飯も用意してあって飲み物、お酒まであったのは驚きでした。

続きを読む

matplotlibのエラー 'str' object is not callable

Jupyter notebookでpythonを書いているときにこのエラーが起きた.

エラーの状況

一度書いていたpythonのコードのmatplotlibを使っている部分に

plt.xlabel("m")

みたいなことを書くと'str' object is not callableというエラーでxlabel()が使えなくなっていたのだ.

おそらくの原因

コードを実行する前に間違って

plt.xlabel = "m"

などとしてしまったせいで plt.xlabel は関数だったのに string型の"m" で上書きしてしまったことが原因だ (pythonみたいな言語はこういうのが通ってしまう).

解決法

つまり plt.xlabel という変数に上書きしてしまったことが原因なのでそこを直さないといけない. jupyter のような逐次実行の状態だとmatplotlib.pyplot (ここではplt)のxlabelという変数をリセットするには開いているjupyter notebookをリセットしなくてはいけない.

よって解決するには

一旦今開いているインタプリタ(僕の場合はJupyter notebookのファイル)を閉じて再起動すれば良い.

つまりJupyter notebookならまず一旦saveして, 左上の "ファイル" から "close and halt" でファイルを閉じて, もう一度そのファイルを起動すれば難なく動いた.

python - Matplotlib pyplot.title(string) returns error - Stack Overflow

ここのAnswerを参考にした.

量子コンピュータつくりたい

久々の更新は東京から

最近のこととこれからやりたいことを少し。まあ日記ですので。

2月末に大学最後の卒業研究発表がやっと終わった。 僕は素粒子理論の研究室に所属していたのですが、縁があって別の研究機関で量子情報に関する実験を行ったのでそれを卒業研究として発表しました。 もちろん大学の素粒子理論研究室での活動も行いながら。

量子情報に関する実験に関わったのが10月ぐらいだったかと思います。 そこの研究室はまだ実験の立ち上げの最中でそこに関わることができたのはとても良い経験だった。 また、量子情報に関われたのは本当に良かった。自分の大学では量子情報に関することをやっている研究室がないのでこうやって外部の機関で関わることができてよかったと感じています。

正直自分が実験をするなんて思いもしなかったですが、実験に行けてよかったと思っています。いま大学院では理論ですが。

いまは理論ですが、今後は量子コンピュータの開発に関わって行きたいとも考えているので極低温の実験に参加できた経験はそこで生きてくることを期待しています。

量子コンピュータといっても量子ビット方式だけではなく量子アニーリングマシンを作るということを先の目標にこれからやって行きたい。自分は理論からのアプローチになるだろうけれども実験屋さんともいろいろ話ししてみたい。

D-Waveの量子アニーリングマシンは理論もハードも日本発なのに実装してビジネスとなると北米に持って行かれてる。ここに日本からのアプローチをしたい(まあ正直日本にこだわりはなく自分が海外に行くというのもあり)。

いまは沖縄から東京の大学院へと進学して、東京は多くの大学が集まっているので今後に関しても沖縄にいるより動きやすくてこれからが少し楽しみです。その前に量子アニーリングなどの理論について学ばなくては行けないですが、気合い入れて頑張って行こうと思います。

しかし、引っ越しやらいろいろな事務手続きやらでここ最近物理ができてないのが辛い。これからしっかり論文も読んで頑張ろう。

ただの日記を読んでくれてありがとうございます。 これからも頑張ります。記事も書きます。

JupyterをPython2と3の両方で使えるように

Jypyter notebookをPython2と3の両方で使えるようにするためにはこちらが参考になる.
Python2, Python3 を切り替えて jupyter notebook を使う|熱血エンジニアのブログ

  • Anacondaのダウンロード
  • python2をインストール
  • Python2と3の切り替え
  • Jupyterを起動
  • Pythonの管理はcondaでやる
    • condaの使い方
    • Qutipもcondaでインストール
      • 疑問点
続きを読む