en:Comma basisから訳(1/)
 
Template:Monzo listを使用
 
(同じ利用者による、間の4版が非表示)
1行目: 1行目:
'''コンマ基底'''はテンペラメントを特徴づける{{w|線形独立}}なコンマのリストである。
{{interwiki
| de =
| en = Comma basis
| es =
| ja = コンマ基底
}}
'''コンマ基底'''は[[レギュラーテンペラメント]]を特徴づける{{w|線形独立}}なコンマのリストである。


例えば、7リミット[[ミーントーン]]は [[225/224]]、[[126/125]]、[[81/80]] を[[テンパーアウト]]するが、これらのうち2つがあれば残り1個は得られる(例えば (225/224)*(126/125)=(81/80))。これはつまり、3個中2個のコンマが消され(0 セントにマップされ)るなら残り1個も必然的に消えることになる。したがって、3個中2個を示せば十分である。なので(どの2個を取り出すのがいいのかという話もあるが例として)ミーントーンのコンマ基底を (81/80, 225/224) と書く。または[[モンゾ]]を並べて [{{ket| -4 4 -1 0 }}, {{ket| -5 2 2 -1 }}] という形(列ベクトルを並べて表した行列ともみなせる)とも書ける。便宜上周波数比の形で書くことが多い。様々な[[標準形]]がテンペラメントの識別子のために開発されている。
例えば、7リミット[[ミーントーン]]は [[225/224]]、[[126/125]]、[[81/80]] を[[テンパーアウト]]するが、これらのうち2つがあれば残り1個は得られる((225/224)*(126/125)=(81/80))。これはつまり、3個中2個のコンマが消され(0 セントにマップされ)るなら残り1個も必然的に消えることになる。したがって、3個中2個を示せば十分である。なのでミーントーンのコンマ基底を (81/80, 225/224) などと書く。または[[モンゾ]]を並べて {{monzo list| -4 4 -1 0 | -5 2 2 -1 }} という形(列ベクトルを並べて表した行列ともみなせる)とも書ける。便宜上周波数比の形で書くことが多い。(どの2個を取り出せばよいのかという観点で)様々な[[標準形]]がテンペラメントの識別子のために開発されている。


数学的には、これはテンペラメント(線形写像)の{{w|零空間}}(核)の基底である。''n'' 個の線形独立のベクトルで構成され、ここで ''n'' は{{w|階数・退化次数の定理|nullity}}である。各ベクトルはそれぞれテンパーアウトされるコンマを表している。
数学的には、これはテンペラメント(線形写像)の{{w|零空間}}(核)の基底である。''n'' 個の線形独立のベクトルで構成され、ここで ''n'' は{{w|階数・退化次数の定理|nullity}}である。各ベクトルはそれぞれテンパーアウトされるコンマを表している。零空間は写像の定義域の部分群をなしていて、基底のベクトルの任意の組み合わせ({{w|線型結合}})が同様にテンパーアウトされている。


== マッピングとの関係 ==
== マッピングとの関係 ==
コンマ基底はテンペラメントの[[マッピング]]行列の双対と考えられる(ヴァルとモンゾの双対関係と似て…いるか?)。テンペラメントはマッピングまたはコンマ基底により特定される。
コンマ基底はテンペラメントの[[マッピング]]行列の双対と考えられる(ヴァルとモンゾの双対関係と似て…いるか?双対空間が舞台だとしてもそのものではなく{{w|双対ベクトル空間 #商空間と零化域}}あたり?)。テンペラメントはマッピングまたはコンマ基底により特定される。


行列の零空間を求める機能が多くの数学ライブラリで用意されている。零空間が求まればコンマ基底が得られる。零空間を手計算で求める方法については、[[:en:Dave Keenan & Douglas Blumeyer's guide to RTT/Exploring temperaments #Nullspace]]を参照のこと。
 
この操作の逆、つまりコンマ基底からマッピング行列への変換を行いたい場合、同じ方法が使える。
 
<!-- When applied to convert between [[wedgies]] and "multimonzos" (the wedgie version of a comma basis), the equivalent operation is the [[Hodge dual|Hodge star]]. -->
 
[https://www.sagemath.org/ Sage]などいくつかの数学ライブラリは、両方向の機能を提供している。Sageの場合、マッピングからコンマ基底への変換は <code>left_kernel()</code>、コンマ基底からマッピングへの変換は <code>right_kernel()</code> を使う。一方で[https://www.wolfram.com/language/ Wolfram Language]の場合、<code>Nullspace[]</code> はマッピングに対して働くように設計されていて、コンマ基底から変換したい場合、コンマ基底をマッピングであるかのように{{w|転置行列|転置}}してから <code>Nullspace[]</code> に通し、結果を転置し直す必要がある。
 
細かいことだが、上三角行列を用いる流儀のライブラリ上でこの転置テクニックを使うと、出てくるマッピング行列が下三角行列(右上が0)になる場合がある。これはマッピング行列としては見慣れない形で、基本的に左下が0、1番左の列は1番上以外0になる(すると1番目のジェネレーターがオクターブまたはその等分になる)ほうが解釈しやすい。まあライブラリを使っているならそのままエルミート標準形などに変換すればよいのだが、別の対策としては転置ではなくanti-transpose<sup>[定訳なし]</sup>(右上と左下を入れ替えるのではなく、右下と左上を入れ替える、あるいは、行列を転置しさらに180度回す)を用いることで0を左下に集めることができる。