コンテンツにスキップ

添字表記法

出典: フリー百科事典『ウィキペディア(Wikipedia)』
添字記法から転送)

数学およびプログラミングにおける添字表記法(そえじひょうきほう、: index notation; 指数記法)あるいは添字記法とは、行列のような配列の特定の要素を示すために用いられる記法である。添字の用い方はそれを与える対象によって異なる。リスト、ベクトル、行列などデータ構造の違いによって、あるいは数学の論文を書くか、計算機のプログラムを書くかによってもその用法は異なる。

数学における添字[編集]

数学においては、配列の要素を下付きの添字によって示すことがしばしば行われる。添字には整数定数変数が用いられる。この場合、特に添数(てんすう)とも呼ぶ[1]。配列は一般にはテンソルの形をとり、これは多次元の配列として扱うことができる。より親しみ深い例としては、ベクトル(1 次元配列)や行列(2 次元配列)が挙げられる。これらはテンソルの特殊な例である。

以下では、ベクトルや行列、より一般のテンソルに関する記法の基本的な考えを紹介する。

1次元配列[編集]


便


 i 1 n ai [2]






.







 n i= 1, 2, ..., n




(一)

(二)


2次元配列[編集]

行列 A の成分は二つの添字を用いて表される。

1


 A22 i, jai,j aij  i2 jij  i j










 i j


 m n i= 1, 2, ..., m, j= 1, 2, ..., n m×n 

多次元配列[編集]





使

[]




 0x3000  0x3000 4 0x3000, 0x3004, 0x3008, ..., 0x3000 + 4(n - 1)  s b ib + is

C[]


C []  base[index]  *  *(base + index) C *(base + index) base  index index[base]  base[index] [3]

C++CC & C++C *base  base[0] base  &base[0]  base  base *(base + index) 

[]


23

2112elementType array[size of array];

1elementType array[# of rows][# of cols];

1elementType *array[# of rows];

C3

 N i*N + j j  0  N - 1 

23使ElementType tableName[][3];  tablename[first index][second index] 

3elementType *tableName[];  tablename[first index][second index] 

[]


3×3  A, B  result 
void mult3x3f(float result[][3], const float A[][3], const float B[][3])
{
    int i, j, k;
    for (i = 0; i < 3; ++i) {
        for (j = 0; j < 3; ++j) {
            result[i][j] = 0;
            for (k = 0; k < 3; ++k) {
                result[i][j] += A[i][k] * B[k][j];
            }
        }
    }
}

その他の言語[編集]

FortranPascal のような他の言語では(特に指定のない限り)添字の指数は 1 から始まる。メモリ領域への指数の割り当ては、指数を 1 から始める方法に合うように変更することができ、この場合には i 番目の要素のメモリ上の位置は、配列の基準アドレスを b, 配列要素 1 つを表すためのメモリ領域の大きさを s とすれば、b + (i − 1)s と表すことができる。たとえば配列の先頭アドレスに対応する指数は i = 1 だから、アドレスは b となる。

脚注[編集]

出典[編集]

  1. ^ "添数". ブリタニカ国際大百科事典 小項目事典; 精選版 日本国語大辞典. コトバンクより2023年2月4日閲覧
  2. ^ Tyldesley 1975.
  3. ^ Hubbard 1996.

参考文献[編集]

  • Hubbard, J. (1996). Programming with C++. Schaum’s Outlines. USA: McGraw Hill. ISBN 0-07-114328-9 
  • Kay, D.C. (1988). Tensor Calculus. Schaum’s Outlines. USA: McGraw Hill. ISBN 0-07-033484-6 
  • Riley, K.F.; Hobson, M.P.; Bence, S.J. (2010). Mathematical methods for physics and engineering. Cambridge University Press. ISBN 978-0-521-86153-3 
  • Tyldesley, J.R. (1975). An introduction to Tensor Analysis: For Engineers and Applied Scientists. Longman. ISBN 0-582-44355-5 

外部リンク[編集]

関連項目[編集]