ToDo:
CERNの4月の一般公開(LHC運転前の最後一般公開になる予定)を 前に飾り付けが行われていますが、なんかLHCのマグネットを Meyrinの街中に飾っている模様。
Meyrinのバス通り沿いのロータリーには、Quadrupole Magnetが出現
また、CERNの Receptionから Rue de Meyrinを渡った向かい側の 球体状の建物の前には、Dipole Magnetが出現
Mapに渡すために二つの行列の積を返す純関数を素直に
(#2.#1)&
と書いて、MapThreadに食わせてみたとこと、なぜか結果がおかしなことに...
演算結果を見る限り行列の要素毎の積になってるので、どうやら
(#2 #1)&
と解釈さているようです。何故... Orz
なんと、スロット演算子#に右結合するオペランドは実数らしい! つまり、最初の例では、(, #2., #1, ), &と 5個のトークンに分解されるようです。
対処としては、
((#2).#1)&
と書くか
(#2 . #1)&
のように明示的にwhitespaceを挿入すれば良いわけだが、 スロット演算子の意味付けから整数以外のものと結合する意味は 無いので、もう少し構文定義が改良できんものかねぇ
もっとも、SADの実装では構文定義から構文解析器を生成しているのではなく 直接構文解析器を書き下しているので、副作用が怖くて修正できん。 (この前の~演算子への修正で、予期しない構文定義への副作用が 発生していたのも、これが原因かと)
No | 入力 | SADの解釈結果 |
1 | (#1.6)& | (#&) |
2 | (#2.5e2)& | (#25&) |
3 | (#1.5.#2)& | ...#でプロンプト |
4 | (#-1)& | (-1+#)& |
6 | (#0)& | (#0&) |
5 | (#0.5)& | segmentation fault |
f = (#0)&;
を定義して、f[]とかf[0]とかやってみる。 なにが返ってくるのだろう...わくわく
って、なにこの味気の無い出力
In[1]:= f = (#0)& Out[1]:= (#0&) In[2]:= f[] ???General::slot: Undefined Slot #0 in (#0&)[] ???General::abort: Aborted: f[] ^ ???-FFS-Error-?Undefined command or element: F[] In[2]:= f[0] ???General::slot: Undefined Slot #0 in (#0&)[0] ???General::abort: Aborted: f[0] ^ ???-FFS-Error-?Undefined command or element: F[0] In[2]:=
General::Slotで適用時にエラーにするくらいなら、 純関数オブジェクト生成時に構文エラーにすべきでない?
2005年にChristopher K. Allenが SAD V1.0.8.x向けに書いた 3D RMS Beam Envelope Simulationを Extension module形式にして移植しました。 移植に当たっては、MatrixFunctions.nをすべてCで再実装することで オリジナル版に比べ 例題の 実行速度は約5倍に高速化されています。
使い方とか中身の原理に関しては、 http://www-linac.kek.jp/seminar/allen.htmlを参照
暫く前から故障していた3ware 9650のBBUだが、 休日を使ってバッテリー交換とバッテリーテストを実施、 ようやくバッテリーの再充電が完了し、フルパフォーマンスが出せるようになった
/c0/bbu Firmware Version = BBU: 2.00.00.023 /c0/bbu Serial Number = *************** /c0/bbu Online State = On /c0/bbu BBU Ready = Yes /c0/bbu BBU Status = OK /c0/bbu Battery Voltage = OK /c0/bbu Battery Temperature Status= OK /c0/bbu Estimated Backup Capacity = 255 Hours /c0/bbu Last Capacity Test = 23-Mar-2010 /c0/bbu Battery Installation Date = 22-Mar-2010 /c0/bbu Bootloader Version = BBU 0.02.02.001 /c0/bbu PCB Revision = 66
/boot/zfsbootを ZFS partition自身に書き込むには hackが必要なので、 sliceの先頭部に bootcode用に partitionを設けてみた
# gpart create -s mbr ada0 # gpart add -t freebsd ada0 # gpart set -a active -i 1 ada0 # gpart create -s bsd ada0s1 # gpart add -b 1023 -s 1025 -t freebsd-ufs ada0s1 # gpart add -s 1g -t freebsd-swap ada0s1 # gpart add -t freebsd-zfs ada0s1 # dd if=/boot/zfsboot of=/tmp/zfsboot1 count=1 # gpart bootcode -b /boot/boot0 ada0 # gpart bootcode -b /tmp/zfsboot1 -p /boot/zfsboot -i 1 ada0s1 # zpool create -o altroot=/tmp/zroot -o cachefile=/tmp/zpool.cache zroot /dev/ada0s1d # zfs set mountpoint=/ zroot
結果は以下のとおり
zfsboot: No ZFS pools located, can't boot
ada0s1aに置いた zfsboot本体の読み込みは成功しているが zpoolを発見出来ないで失敗した
LiveDVDから zfs import出きるので、zfsboot自身の制限か?
カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記