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) とすること