3.3.4. 定数クラス Parameter¶
定数は Parameter というクラスで表現されます.具体的に a という定数を定義するには以下のように記述します.:
a = Parameter()
複数の定数を一度に定義するには,index
キーワードと添字クラス Element を用います.
以下の例では,3 個の定数 b[1], b[2], b[3] を一度に定義しています.:
i = Element(value=[1, 2, 3])
b = Parameter(index=i)
以下の例では,6 個の定数 c[1,'p'], c[1,'q'], c[2,'p'], c[2,'q'], c[3,'p'], c[3,'q'] を一度に定義しています.:
i = Element(value=[1, 2, 3])
j = Element(value=['p', 'q'])
c = Parameter(index=(i,j))
定数の値は =
で設定します.定数の値を明示的に指定しない場合は,自動的に 0 が設定されます.
以下の例では定数 b[1], b[2], b[3] に 5 をまとめて設定しています.:
b[i] = 5
value
キーワードを用いて宣言と同時に値を設定することもできます.:
b = Parameter(index=i, value=5)
宣言時に個別に値を設定する場合は辞書を使います.以下の二表現は同様の意味を持ちます.:
b = Parameter(index=i)
b[1] = 10
b[2] = 20
b[3] = 30
b = Parameter(index=i, value={1: 10, 2: 20, 3: 30})
複数の引数を持たせる場合,順序は任意です.以下の二表現は同様の意味を持ちます.:
b = Parameter(index=i, value=5)
b = Parameter(value=5, index=i)
添字がない定数の場合は後から値を変えることはできません. 以下ではオブジェクト a は定数型の後に Python の int 型になってしまいます.:
a = Parameter()
a = 1 # NG.a = Parameter(value=1) とすること