Skip to content

Commit

Permalink
Add limitation section
Browse files Browse the repository at this point in the history
  • Loading branch information
H-Iwamoto-research committed Oct 30, 2023
1 parent 1d268cf commit 96d2708
Showing 1 changed file with 92 additions and 3 deletions.
95 changes: 92 additions & 3 deletions doc/ja/source/input.rst
Original file line number Diff line number Diff line change
Expand Up @@ -118,10 +118,11 @@ py2dmat は入力ファイルの形式に `TOML <https://toml.io/ja/>`_ を採
[``runner``] セクション
************************
``Algorithm`` と ``Solver`` を橋渡しする要素である ``Runner`` の設定を記述します。
サブセクションとして ``mapping`` と ``log`` を持ちます。
サブセクションとして ``mapping`` 、 ``limitation`` 、 ``log`` を持ちます。


[``mapping``] セクション
************************
************************************************

``Algorithm`` で探索している :math:`N` 次元のパラメータ :math:`x` から ``Solver`` で使う :math:`M` 次元のパラメータ :math:`y` への写像を定義します。
:math:`N \ne M` となる場合には、 ``solver`` セクションにも ``dimension`` パラメータを指定してください。
Expand Down Expand Up @@ -166,8 +167,96 @@ py2dmat は入力ファイルの形式に `TOML <https://toml.io/ja/>`_ を採
を表します。

[``limitation``] セクション
************************************************

``Algorithm`` で探索している :math:`N` 次元のパラメータ :math:`x` に、制約条件を課すことが出来ます。
``Algorithm`` ごとに定義する探索範囲(例:``exchange`` の ``min_list`` や ``max_list`` ) に加えて課すことが出来ます。
現在は :math:`M` 行 :math:`N` 列の行列Aと :math:`M` 次元の縦ベクトルbから定義される :math:`Ax+b>0` の制約式が利用可能です。具体的に

.. math::
A_{1,1} x_{1} + A_{1,2} x_{2} + &...& + A_{1,N} x_{N} + b_{1} > 0 \\
A_{2,1} x_{1} + A_{2,2} x_{2} + &...& + A_{2,N} x_{N} + b_{2} > 0 \\
&...& \\
A_{M,1} x_{1} + A_{M,2} x_{2} + &...& + A_{M,N} x_{N} + b_{M} > 0 \\
という制約をかけることが出来ます。
ここで :math:`M` は制約式の個数(任意)となります。

- ``co_a``

形式: リストのリスト、あるいは文字列 (default: [])

説明: 制約式の行列 :math:`A` を設定します。

行数は制約式数 :math:`M` 列数は探索変数の数 :math:`N` である必要があります。

``co_b`` を同時に定義する必要があります。

- ``co_b``

形式: リストのリスト、あるいは文字列 (default: [])

説明: 制約式の縦ベクトル :math:`b` を設定します。

次元数が制約式数 :math:`M` の縦ベクトルを設定する必要があります。

``co_a`` を同時に定義する必要があります。

行列の指定方法について、[``mapping``] セクションと同様で、例えば、 ::

A = [[1,1], [0,1]]

と ::

A = """
1 1
0 1
"""

はともに

.. math::
A = \left(
\begin{matrix}
1 & 1 \\
0 & 1
\end{matrix}
\right)
を表します。また、 ::
co_b = [[0], [-1]]

と ::

co_b = """0 -1"""
と ::

co_b = """
0
-1
"""

はともに

.. math::
b = \left(
\begin{matrix}
0 \\
-1
\end{matrix}
\right)
を表します。
``co_a`` と ``co_b`` のどちらも定義しない場合、制約式を課さずに探索します。

[``log``] セクション
************************
************************************************

solver 呼び出しのlogging に関する設定です。

Expand Down

0 comments on commit 96d2708

Please sign in to comment.