「ジェネレーター読み替え操作」の版間の差分

33行目: 33行目:
マッピング <math>M</math> の各行を <math>𝒎_1, 𝒎_2 ... 𝒎_r</math>、それぞれに対応するジェネレーターを  <math>g_1, g_2 ... g_r</math> と書くことにして、<math>g_a</math> を <math>g_b</math> 分だけ増加させたい場合、<math>𝒎_b</math> を <math>𝒎_b' = 𝒎_b - 𝒎_a</math> で置き換える。
マッピング <math>M</math> の各行を <math>𝒎_1, 𝒎_2 ... 𝒎_r</math>、それぞれに対応するジェネレーターを  <math>g_1, g_2 ... g_r</math> と書くことにして、<math>g_a</math> を <math>g_b</math> 分だけ増加させたい場合、<math>𝒎_b</math> を <math>𝒎_b' = 𝒎_b - 𝒎_a</math> で置き換える。


先ほどの最後の例、「オクターブと完全12度の組み合わせによるミーントーン」で考えてみよう。スタート地点を標準形の{{ket|{{val|1 1 0}} {{val|0 1 4}}}}とすると、ジェネレーターは順番にオクターブと完全5度となる。2番目のジェネレーターを1番目のジェネレーターの分だけ延ばすと完全12度となる。記号で書くと <math>g_2</math> を <math>g_2 + g_1</math> に変更したい。上記操作に従えば、<math>𝒎_1</math> を <math>𝒎_1' = 𝒎_1 - 𝒎_2</math> で置き換える。<math>𝒎_1'</math> は次のようになる:
先ほどの最後の例、「オクターブと完全12度の組み合わせによるミーントーン」で考えてみよう。スタート地点を標準形の {{ket|{{val|1 1 0}} {{val|0 1 4}}}} とすると、ジェネレーターは順番にオクターブと完全5度となる。2番目のジェネレーターを1番目のジェネレーターの分だけ延ばすと完全12度となる。記号で書くと <math>g_2</math> を <math>g_2 + g_1</math> に変更したい。上記操作に従えば、<math>𝒎_1</math> を <math>𝒎_1' = 𝒎_1 - 𝒎_2</math> で置き換える。<math>𝒎_1'</math> は次のようになる:


<math>
<math>
53行目: 53行目:
</math>
</math>


そして1行目を差し替えて{{ket|{{val|1 0 -4}} {{val|0 1 4}}}}が得られる。
そして1行目を差し替えて {{ket|{{val|1 0 -4}} {{val|0 1 4}}}} が得られる。


マッピングの書き換えた行(1行目)とサイズが変化するジェネレーター(2番目)が対応しないことを不思議に感じるかもしれない。2次元空間で位置を特定するのにそれぞれのジェネレーターが必要であることを思い出してほしい。この操作でマッピングの1行目が担っていた情報はほかの行に漏れていない。1行目だけで処理されていた音程は書き換え後もほかの行からは手伝いようがない。(本例ではマッピングの最初の列を見れば 2/1 をマッピングする仕事が変化していないのが一目瞭然である。)マッピングが等価であるためには、少なくとも1番目のジェネレーターのサイズを変更できないだろうことがわかる。逆に情報を漏らした2行目は結果として自分の仕事を漏洩先に手伝わせることになるので、自分の力(2番目のジェネレーターのサイズ)を調整する必要が出てくる。(本例ではマイナスにして漏らしているので逆に2行目ががんばることになる。3/1 をマッピングするときオクターブが1個、完全5度が1個だったものが、「オレ(2番目)1個につきオマエ(1番目)1個分をこっちでやっとくよ」となって2番目のジェネレーターがオクターブと完全5度のセット=完全12度となる。)
マッピングの書き換えた行(1行目)とサイズが変化するジェネレーター(2番目)が対応しないことを不思議に感じるかもしれない。2次元空間で位置を特定するのにそれぞれのジェネレーターが必要であることを思い出してほしい。この操作でマッピングの1行目が担っていた情報はほかの行に漏れていない。1行目だけで処理されていた音程は書き換え後もほかの行からは手伝いようがない。(本例ではマッピングの最初の列を見れば 2/1 をマッピングする仕事が変化していないのが一目瞭然である。)マッピングが等価であるためには、少なくとも1番目のジェネレーターのサイズを変更できないだろうことがわかる。逆に情報を漏らした2行目は結果として自分の仕事を漏洩先に手伝わせることになるので、自分の力(2番目のジェネレーターのサイズ)を調整する必要が出てくる。(本例ではマイナスにして漏らしているので逆に漏洩先からの協力が減って2行目ががんばることになる。3/1 をマッピングするときオクターブが1個、完全5度が1個だったものが、「オレ(2番目)1個につきオマエ(1番目)1個分をこっちでやっとくよ」となって2番目のジェネレーターがオクターブと完全5度のセット=完全12度となる。)


等価なマッピングであることが表現できるように等号で書くと、
等価なマッピングであることが表現できるように等号で書くと、
99行目: 99行目:
よりややこしい例、完全5度で組み立てられたミーントーンから完全4度で組み立てられたミーントーンへの変換を考えよう。再確認すると、完全4度は完全5度の補音程(転回音程)なのでこれは当然可能である。
よりややこしい例、完全5度で組み立てられたミーントーンから完全4度で組み立てられたミーントーンへの変換を考えよう。再確認すると、完全4度は完全5度の補音程(転回音程)なのでこれは当然可能である。


この補音程化が常にできるというのはオクターブに限った話ではない。ジェネレーター(小さいほう)をそれに対するもう一方のジェネレーターの補音程に置き換えて同じピッチ集合を記述できる。
この補音程化が常にできるというのはオクターブに限った話ではない。ジェネレーターをそれに対するもう一方のジェネレーターの補音程に置き換えて同じピッチ集合を記述できる。


この補音程に置き換えるというのを手順にまとめると: まずそのジェネレーターの符号を反転し(操作その2)、次にそれにもう一方のジェネレーターを加える(操作その1)。(まずもう一方のジェネレーターを引いて(操作その1の反対バージョン)、引きすぎてジェネレーターの大きさが負になってしまったので符号を反転する(操作その2)のでもよい。)
この補音程に置き換えるというのを手順にまとめると: まずそのジェネレーターの符号を反転し(操作その2)、次にそれにもう一方のジェネレーターを加える(操作その1)。(まずもう一方のジェネレーターを引いて(操作その1の反対バージョン)、引きすぎてジェネレーターの大きさが負になってしまったので符号を反転する(操作その2)のでもよい。)


なので
なので、最初のステップはミーントーンを特徴づけるジェネレーターの符号を反転し、完全5度''上''ではなく完全5度''下''を表すようにすることである。
 
これは先ほどの操作その1では達成できない。操作その1では2つの別々のジェネレーターが必要だった。(操作その1は行列の基本変形の中でも行列式が変化しないものだが、それをむりやり1行で実行すると行列式が(n+1)倍されるようになって性質が違いすぎるので、そんなものは別の基本変形であると位置づけられる。)
 
幸運なことに操作その2はかなり簡単である。<math>g_a</math> を反転させたいなら、<math>𝒎_a</math> の全項の符号を反転する。本例なら <math>𝒎_2 =</math> {{val|0 1 4}} を <math>𝒎_2' =</math> {{val|0 -1 -4}} で置き換え、{{ket|{{val|1 1 0}} {{val|0 -1 -4}}}} を得る。
 
次のステップは操作その1で負の完全5度にオクターブを加えて正の完全4度に変換することである。そのために、<math>𝒎_1</math> を <math>𝒎_1 - 𝒎_2'</math> で置き換える。
 
<math>
\begin{array} {r}
𝒎_1 \\
-𝒎_2' \\
\hline
𝒎_1'
\end{array}
 
 
\begin{array} {r}
& \langle & 1 & 1 & 0 & ] \\
- & \langle & 0 & -1 & -4 & ] \\
\hline
& \langle & 1 & 2 & 4 & ]
\end{array}
</math>
 
これにて、{{ket|{{val|1 2 4}} {{val|0 -1 -4}}}} を得る。