|
setup diary |
Rで角運動量演算子を行列表現するときに、diag(seq(j,-j,-1))というようにしていた。しかし、jが0のときには、エラーが出ることが分かった。調べてみると、diagは、成分が二個以上配列を渡されたときには、それを対角成分とする行列を返すが、成分が一個のときには、それをスカラーとみなして、そのスカラーの次元を持つ単位行列を返すことが分かった。そして、0に対しては、0次元の行列をつくろうとする。これがエラーの原因であることが分かった。臨む結果を得るために、if文で条件分岐することにしたが、良い書き方がないかな。