MATLABで内積

 列ベクトルaと列ベクトルbがあり、それらの次元数が同じだったとする。
 このとき、定義をなぞるようにfor文を使って内積を計算すると、こんな感じになる。

a = [1; -2; 3];
b = [6; 5; -4];
N = 3; %the number of dimension
p = 0;
for n = 1 : N
    p = p + a(n) * b(n);
end
%
p =
   -16

 でもこれは回りくどい。
 シンプルに計算するなら、こうである。

a = [1; -2; 3];
b = [6; 5; -4];
p = (a') * b;
%
p =
   -16

 なお、アポストロフィは共役転置である。

将棋中継

 AdobeFlashがそろそろサポート対象外となるとのことで、アンインストールを勧める通知が来た。そういうわけでアンインストールした。
 そんなこんなで、今、将棋の棋譜中継が見られない状況にある。多分現在、まだJavaScript版の棋譜中継はないと思うが、今後はどうなるのだろう。棋譜配信はスマホアプリ限定になるのだろうか。スマホアプリは作業が手につかなくなるので私は導入しないことにしており、中継ブログの図面だけでタイトル戦を楽しんでいる。
 昨今、プロ棋士が将棋実況動画をYouTubeに上げてくださっているので、たとえ棋譜中継がなくてもそれで満足だったりはする。

▲4五歩

 第13期マイナビ女子オープン五番勝負の第三局の仕掛けが面白かった(2020年5月12日 西山朋佳女王 対 加藤桃子女流三段|五番勝負第3局|第13期マイナビ女子オープン)。
 先手が居飛車、後手が三間飛車で、13手目にいきなり▲4五歩と仕掛けるのである。以下、△4五同歩と取り返し、▲3三角成△同銀に、▲6五角が飛車取りと▲8三角成の両狙いとなる。
 プロ同士の場合、過激な攻めは仕掛けたほうに無理が出て成立しないという先入観があったが、本局ではどこまでも過激に攻めて、終盤に入る前に先手が完封勝ちした。

クラスとおっさん

 今までずっとオブジェクト指向を避けて通ってきた。C言語とかのような書き方でも、充分に作業ができてしまうからである。でも、なんとなく一度はオブジェクト指向に挑戦してみてもいいのではないかと思い、Pythonで頑張っている。頑張ってはいるのだが、どうしてもオブジェクト指向っぽくならず、単に構造体をclassと読み替えただけのコードになってしまっている。
 もはや私にはオブジェクト指向は無理なのかなあとか思いつつ、それでも頑張ってみている。
 なぜ頑張っているのかというと、話は2010年代初頭までさかのぼる。とある学会の会合で大御所のシニア研究者三名に若手がいろいろと質問をするという企画が立ち上がった。事前に集められた質問の中に、「失礼ですが先生方のピークはいつ頃でしたか?」というものがあり、三人のシニア研究者が三人とも「三十代でした」と答えた。実際に私が四十歳になってみると、やはり頭の回転が鈍ってきたり、集中力が落ちてきたり、新しいことに挑戦する意欲が薄れてきたりした。いわゆる、おっさん化である。これはいけないと思い、まだ意欲があるうちにオブジェクト指向を頑張ろうと思ったのだった。
 おっさん化に伴い、ブログの名前も『おっさんの日々』あたりに変えようかとも思ったのであるが、そうするとなんとなくさらにおっさん化が進みそうだったので、思いとどまっている。