chargeのブログ

人のブログを見て真似して書いていきます。似たブログを見つけたら教えてください。

就職試験で線形代数について質問された

2014-01-25 10:02:43 | 科学っぽい思考
 あるソフトウェア会社の就職試験に行ってきたところ、面接において線形代数について質問された。ベクトル型コンピュータ関連の話で対角行列や逆行列、掃き出し法についての質問だったのだがそれは思い出しながらわかってもガウス・ジョルダンの方法あたりから何を言っているのかわからなくなった。大学で習ったかもしれないが忘れているのかもしれない。最終的に言いたいのはより高速な計算アルゴリズムというものについて言いたかったらしいのだが上手く答えていなかったので落ちたかもしれない。
 最近、超高速計算ができるベクトル型コンピュータである『京』の計算プログラムが計算法の変更により、より固有値が高速に計算できるようになったというニュースを(http://www.jst.go.jp/pr/announce/20131205/)見たのだが、ソフトウェア業界にとっては一番注目すべきニュースであったのかもしれない。京において用いられている行列計算用のライブラリはEigenというオープンソースの行列計算ライブラリから派生したEigenK(http://ccse.jaea.go.jp/ja/download/eigenk.html)EigenExa(http://www.aics.riken.jp/labs/lpnctrt/EigenExa.html)という特別製のものなのだがそこに三重ループを二重ループで済ませて計算量を抑えたりするような改良が加えられているらしい。私も以前、コンパイルをしてみようと考えたのだが、CygwinにFortran99をインストールするのを面倒に思っていて、必要が今のところ考えつかないので今のところやっていない。
 スーパーコンピュータが必要な生物学といったら分子生物学の中でもタンパク質のフォールディングのシュミレーションに決まっているが海外の大学が作ったTinker(http://dasher.wustl.edu/ffe/)というツールプログラムを理解して書いてつくるどころか使用する方法を試すだけでもかなり難しく感じた経験があるので、もはや向上心を捨ててツールをうまく使う人間になろうと最近は考えるようになってしまっている。
 
   

ソースコードの表示

<style type="text/css"> /* Source Code CSS */ pre.code { font-size: 12px; /* line-height:1.2em; */ border:1px solid #aaa; background:#f0f0f0; padding:0.5em; overflow: auto; } pre.code span.tag { color: #0000ff; } pre.code span.attr { color: #000; } pre.code span.value { color: #900; } pre.code span.str { color: #009900; } pre.code span.num { color: #009900; } pre.code span.keyword { color: #0000ff; } pre.code span.rem { color: #909; } pre.code span.variable { color: #500050; } </style>