コンテンツにスキップ

多次元配列を一次元配列として確保した際の指数の換算方法

計算方法

次元の多次元配列を一次元配列として確保することを考える。 データ数は、次元の配列の各成分が , , , 個づつあり、 合計で、個のデータがある状況を考える。 そのため、一次元の配列の指数の範囲 はと与えられる。 この次元の指数、)との対応を求める。

まず、次元の指数から一次元の指数への変換は、末尾の指数から先に動かすことにすると、 番目の指数は、個のデータ点毎に増える事に注意して、

次に、この逆変換を考える。つまり、一次元の指数から次元の指数を求めたい。 上記の式の両辺のに対する剰余をとる。すると、の指数に関する項 には必ずが含まれていること、であることから、 を得る。

次に、上述の式の両辺をでわってから、に対する剰余を計算する。 商は小数点以下いつも切り下げると、となる事に注意して、 より を得る。

以後、同様の計算をすることで、がすべて計算できる。

まとめ

次元配列の指数から一次元配列への指数の変換を とした際に逆変換は、 但し、 また、の時は、による剰余を計算しなくても結果は変わらない。

あるいは、として、 と書いても良い。