EMLの単位(5)
(承前)
さてこの L-1 の単位を定義しなければならないのだが、実に悩ましい。 STMML 形式では普通 xxxPerYyy という書き方をするが、perYyy という書き方は しないようだ。
参考までに、 T-1 (周波数)には Hz という固有単位が与えられているので、 これを使って定義している。
<unit id="hertz" name="hertz"
unitType="frequency" multiplierToSI="1"
abbreviation="Hz">
<description>hertz</description>
</unit>
波数には SI の固有単位はないようだ。CGS単位系ではカイザー(K)という単位名が 与えられているらしい。 では波数の定義がどうなっているかと言うと、
<!--waveNumber-->
<unit id="waveNumber" name="waveNumber"
unitType="lengthReciprocal" multiplierToSI="1">
<description>1/meters</description>
</unit>
つまり、単位名に物理量の名称を当ててしまっている。これは本当はおかしなことで、 それは SI接頭辞を付けた kiloWaveNumber とか megaWaveNumber という語が 何を言っているのか判らないことから明らかだ。 苦し紛れであることは論を俟たないが、他に記法が無いような気も、確かにする。 kiloParMeter 等とするのもやはりおかしい。
そう言う訳で、結論としては以下のような custom unit を定義した。
<!-- attenuation coefficient (m^-1) -->
<unit id="attenuationCoefficient"
name="attenuationCoefficient" unitType="lengthReciprocal"
multiplierToSI="1" abbreviation="1/m">
<description>Coefficient of exponential attenuation</description>
</unit>
釈然としないところがあるが、どうにもならん。