Container ConceptsVectorは 密ベクトル、圧縮されたベクトル、疎ベクトルに共通する側面を記述する。
| Value type | value_type |
ベクトルの型 |
| Distance type | difference_type |
二つのベクトルのイテレータ間の距離をあらわす符号付き汎整数型 |
| Size type | size_type |
ベクトルのdistance_typeのうちの全ての非負値を表現できる符号無し汎整数型 |
V |
Vectorのモデルの型 |
v |
V型のオブジェクト |
n, i |
size_typeへ変換可能な型のオブジェクト |
t |
value_typeへ変換可能な型のオブジェクト |
Vector Expression で定義された式に加えて、以下が正当である必要がある。
| 名前 | 式 | 型に関する要求事項 | 戻り型 |
|---|---|---|---|
| Sizing constructor | V v (n) |
V |
|
| Insert | v.insert (i, t) |
v が mutableであること。 |
void |
| Erase | v.erase (i) |
v が mutableであること。 |
void |
| Clear | v.clear () |
v が mutableであること。 |
void |
| Resize | v.resize (n) |
v が mutableであること。 |
void |
式のセマンティックスはVector Expressionと異なっていたり、もしくは記述のない場合に限って定義される。
| 名前 | 式 | 前提条件 | セマンティクス | 事後条件 |
|---|---|---|---|---|
| Sizing constructor | V v (n) |
n >= 0 |
n要素のベクトルを作成する。 |
v.size () == n. |
| Insert | v.insert (i, t) |
0 <= i < v.size () であり且つ、v (i)はvalue_type ()のコピー。 |
tのコピーがvに挿入される。
|
v (i)はtのコピー。 |
| Erase | v.erase (i) |
0 <= i < v.size () |
v (i)を破壊し、value_type ()と置き換える。 |
v (i)はvalue_type ()のコピー。
|
| Clear | v.clear () |
for (i = 0; i < v.size (); ++ i)v.erase (i); と同じ。 |
||
| Resize | v.resize (n) |
n要素をもてるようにベクトルを変更する。 |
v.size () == n. |
サイズを指定したコンストラクタ(sizing constructor)の実行時の計算量はベクトルのサイズに対して線形である。
挿入と削除の実行時の計算量はベクトルによって異なる。
vector<T, A>unit_vector<T>zero_vector<T>sparse_vector<T, A>Matrix は密行列、圧縮された行列、疎行列に共通する側面を記述する。
| Value type | value_type |
The type of the matrix. |
| Distance type | difference_type |
二つのmatrixのイテレータ間の距離をあらわす符号付の汎整数型 |
| Size type | size_type |
matrixのdistance typeのうちの全ての非負値を表現できる符号無し汎整数型 |
M |
Matrixモデルの型 |
m |
M型のオブジェクト |
n1, n2, i, j |
size_typeに変換可能な型のオブジェクト
|
t |
value_typeに変換可能な型のオブジェクト
|
Matrix Expressionで定義された式に加えて、以下が正当である必要がある。
| 名前 | 式 | 型に関する要求事項 | 戻り値 |
|---|---|---|---|
| Sizing constructor | M m (n1, n2) |
M |
|
| Insert | m.insert (i, j, t) |
mがmutableであること |
void |
| Erase | m.erase (i, j) |
mがmutableであること |
void |
| Clear | m.clear () |
mがmutableであること |
void |
| Resize | m.resize (n1, n2) |
mがmutableであること |
void |
式のセマンティックスはMatrix Expression と異なっていたり、もしくは記述のない場合に限って定義される。
| 名前 | 式 | 前提条件 | セマンティクス | 事後条件 |
|---|---|---|---|---|
| Sizing constructor | M m (n1, n2) |
n1 >= 0 and n2 >= 0 |
n1 行n2列の行列を作成する。 |
m.size1 () == n1 且つ m.size2 () ==
n2. |
| Insert | m.insert (i, j, t) |
0 <= i < m.size1 (), 0 <= j < m.size2 ()and is a copy of value_type (). |
tのコピーがmへ挿入される。 |
m (i, j)はtのコピー。 |
| Erase | m.erase (i, j) |
0 <= i < m.size1 ()and |
m (i, j)要素を破壊し、value_type ()と置き換える。 |
m (i, j)はvalue_type (),のコピー。 |
| Clear | m.clear () |
for (i = 0; i < m.size1 (); ++ i)for (j = 0; j < m.size2 (); ++ j)m.erase (i, j);と同じ。 |
||
| Resize | m.resize (n1, n2) |
n1 行n2列が入るようにベクトルを変更する。 |
m.size1 () == n1 and m.size2 () ==
n2. |
サイズを指定するコンストラクタ(sizeing constructor)の実行時の計算量は行列サイズの二次に比例する。
挿入、削除の実行時における計算量は行列によって異なる。
matrix<T, F, A>identity_matrix<T>zero_matrix<T>triangular_matrix<T, F1, F2, A>symmetric_matrix<T, F1, F2, A>banded_matrix<T, F, A>sparse_matrix<T, F, A>Copyright (©) 2000-2002 Joerg Walter, Mathias Koch
Permission to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document is provided
``as is'' without express or implied warranty, and with no claim as to its
suitability for any purpose.
Japanese Translation Copyright (©) 2003 Satoshi Fujimoto
オリジナルの、及びこの著作権表示が全ての複製の中に現れる限り、この文書の複製、利用、変更、販売そして配布を認める。このドキュメントは
「あるがまま」に提供されており、いかなる明示的、暗黙的保証も行わない。また、いかなる目的に対しても、その利用が適していることを関知しない。
Japanese Translation Last revised: 4/8/2003