org.mklab.tool.control.system
クラス AdjacencyMatrix

java.lang.Object
  上位を拡張 org.mklab.nfc.matrix.AbstractGrid<A>
      上位を拡張 org.mklab.nfc.matrix.AbstractArray<A>
          上位を拡張 org.mklab.nfc.matrix.BaseArray<AdjacencyMatrix,SystemOperator>
              上位を拡張 org.mklab.tool.control.system.AdjacencyMatrix
すべての実装されたインタフェース:
Serializable, Cloneable, Array, BaseArrayOperator<SystemOperator>, Grid
直系の既知のサブクラス:
AdjacencyConstantMatrix

public class AdjacencyMatrix
extends BaseArray<AdjacencyMatrix,SystemOperator>

隣接行列(システムオペレータを成分とする行列)を表わすクラスです。

バージョン:
$Revision: 1.115 $
作成者:
Koga Laboratory
関連項目:
直列化された形式

フィールドの概要
 
クラス org.mklab.nfc.matrix.BaseArray から継承されたフィールド
elements
 
コンストラクタの概要
AdjacencyMatrix()
          新しく生成されたAdjacencyMatrixオブジェクトを初期化します。
AdjacencyMatrix(int rowSize, int columnSize)
          新しく生成されたAdjacencyMatrixオブジェクトを初期化します。
AdjacencyMatrix(SystemOperator[] elements)
          このコンストラクターは使用できません。
AdjacencyMatrix(SystemOperator[][] elements)
          引数を成分とする行列を生成します。
 
メソッドの概要
 AdjacencyMatrix clone()
          Object#clone()
 boolean equals(Object obj)
           
 BlockSystem getBlockSystem()
          隣接行列が表わすブロックシステムを返します。
 List<Exporter> getExporters()
          出力器のリストを返します。
 List<Importer> getImporters()
          入力器のリストを返します。
 Map<Integer,String> getInputPortTags()
          入力ポートのノード番号(番号は1から始まります)とタグのマップを返します。
 int getInputSize()
          入力の数を返します。
 DoubleMatrix getInputSizeMatrix()
          システムの入力数を重みとするグラフの隣接行列を返します。
 LinearSystem getLinearSystem(boolean requiringReachableSubSystem)
          入力ノードから出力ノードまでの線形システムを返します。
 LinearSystem getLinearSystemByProcessor(boolean requiringReachableSubSystem, ReversePolishNotationProcessor processor)
          入力ノードから出力ノードまでの線形システムを返します。
 LinearSystem getLinearSystemForMaxima(boolean requiringReachableSubSystem, ReversePolishNotationProcessor processor)
          入力ノードから出力ノードまでの線形システムを返します。
 DoubleMatrix getMinusOutputSizeMatrix()
          システムの出力数の-1倍(符号反転)を重みとするグラフの隣接行列を返します。
 int getNodeSignalSize(int nodeNumber)
          ノードの大きさ(信号の数)を返します。
 Map<Integer,String> getOutputPortTags()
          出力ポートのノード番号(番号は1から始まります)とタグのマップを返します。
 int getOutputSize()
          出力の数を返します。
 AdjacencyMatrix getSubgraph(BooleanMatrix candidates)
          trueで指定されたノードのみを含む隣接行列を返します。
 AdjacencyMatrix getSubgraph(List<Integer> nodes)
          指定されたノードを含む部分グラフを返します。
 AdjacencyConstantMatrix getSymbolicTransferFunction(boolean requiringReachableSubSystem)
          伝達関数を数式形式で求めます.
 int hashCode()
          Override hashCode.
 boolean isContinuous()
          連続時間システム(連続時間動的システム又は連続時間静的システム)であるか判定します。
 boolean isContinuousDynamic()
          連続時間動的システムが含まれ、離散時間動的システムが含まれていないか判定します。
 boolean isDiscrete()
          離散時間システム(離散時間動的システム又は離散時間静的システム)であるか判定します。
 boolean isDiscreteDynamic()
          離散時間動的システムが含まれ、連続時間動的システムが含まれていないか判定します。
 boolean isLinear()
          線形システムだけが含まれているか判定します。
 boolean isPiecewiseContinuous()
          区分的連続システム(区分的連続動的システム又は区分的連続静的システム)を含むか判定します。
 boolean isRequiringPrimitiveExpression()
           
 boolean isSampledData()
          サンプル値動的システム(連続時間動的システムと離散時間動的システムの両方が含まれる)であるか判定します。
 boolean isSampledDataDynamic()
          サンプル値動的システム(連続時間動的システムと離散時間動的システムの両方が含まれる)であるか判定します。
 void printElements(Writer output)
          ライターに成分を出力します。
 void printElements(Writer output, int maxColumnSize)
          ライターに成分を出力します。
 void setInputNodes(List<Integer> inputNodes)
          入力ポートが接続されているノードの番号のリストを設定します。
 void setInputPortTags(Map<Integer,String> inputPortTags)
          入力ポートのノード番号(番号は1から始まります)とタグのマップを設定します。
 void setOutputNodes(List<Integer> outputNodes)
          出力ポートが接続されているノードの番号のリストを設定します。
 void setOutputPortTags(Map<Integer,String> outputPortTags)
          出力ポートのノード番号(番号は1から始まります)とタグのマップを設定します。
 void setRequiringDescriptor(boolean requiringDescriptor)
          ディスクリプタ形式として求めるかを設定します.
 void setRequiringPrimitiveExpression(boolean requiringPrimitiveExpression)
           
 void setSinkNodes(List<Integer> sinkNodes)
          Sinkが接続されているノードの番号のリストを設定します。
 void setSourceNodes(List<Integer> sourceNodes)
          Sourceが接続されているノードの番号のリストを設定します。
static void showMatrix(AdjacencyMatrix adjacencyMatrix)
          AdjacencyMatrixの中身を出力します。
static void showMatrix(SystemOperator[][] matrix)
          SystemOperatorの中身を出力します。
 
クラス org.mklab.nfc.matrix.BaseArray から継承されたメソッド
appendDown, appendRight, compareElementWise, compareElementWise, copy, copy, diagonal, diagonalToVector, exchangeColumn, exchangeRow, getElement, getElement, getElements, getSubMatrix, getSubMatrix, getSubMatrix, getSubMatrix, getSubVector, isZero, removeColumnVectors, removeColumnVectors, removeRowVectors, removeRowVectors, reshape, resize, setElement, setSubMatrix, setSubMatrix, setSubMatrix, setSubMatrix, setSubMatrix, setSubMatrix, setSubMatrix, setSubMatrix, setSubVector, setSubVector, transpose, vectorToDiagonal
 
クラス org.mklab.nfc.matrix.AbstractArray から継承されたメソッド
flipLeftRight, flipUpDown, getColumnVector, getColumnVectors, getColumnVectors, getRowVector, getRowVectors, getRowVectors, getSubMatrix, getSubMatrix, getSubMatrix, getSubVector, getSubVector, rotateLeft, rotateUp, setColumnVector, setColumnVectors, setColumnVectors, setRowVector, setRowVectors, setRowVectors, setSubMatrix, setSubMatrix, setSubMatrix, setSubMatrix, setSubVector, setSubVector
 
クラス org.mklab.nfc.matrix.AbstractGrid から継承されたメソッド
count, getColumnSize, getDefaultElementAlignment, getDefaultElementFormat, getElementAlignment, getElementFormat, getGridClassName, getPrintingElementsString, getPrintingString, getRowSize, hasSameColumnSize, hasSameRowSize, isEmpty, isSameSize, isSquare, length, print, print, print, removeColumnVector, removeRowVector, setColumnSize, setDefaultElementAlignment, setDefaultElementFormat, setElementAlignment, setElementFormat, setRowSize, toString
 
クラス java.lang.Object から継承されたメソッド
finalize, getClass, notify, notifyAll, wait, wait, wait
 
インタフェース org.mklab.nfc.matrix.Array から継承されたメソッド
flipLeftRight, flipUpDown, getColumnVector, getColumnVectors, getColumnVectors, getRowVector, getRowVectors, getRowVectors, getSubMatrix, getSubMatrix, getSubMatrix, getSubVector, getSubVector, rotateLeft, rotateUp, setColumnVector, setColumnVectors, setColumnVectors, setRowVector, setRowVectors, setRowVectors, setSubMatrix, setSubMatrix, setSubMatrix, setSubMatrix, setSubVector, setSubVector
 
インタフェース org.mklab.nfc.matrix.Grid から継承されたメソッド
count, getColumnSize, getElementAlignment, getElementFormat, getPrintingElementsString, getPrintingString, getRowSize, hasSameColumnSize, hasSameRowSize, isEmpty, isSameSize, isSquare, length, print, print, print, removeColumnVector, removeRowVector, setElementAlignment, setElementFormat
 

コンストラクタの詳細

AdjacencyMatrix

public AdjacencyMatrix()
新しく生成されたAdjacencyMatrixオブジェクトを初期化します。


AdjacencyMatrix

public AdjacencyMatrix(int rowSize,
                       int columnSize)
新しく生成されたAdjacencyMatrixオブジェクトを初期化します。

パラメータ:
rowSize - 行の数
columnSize - 列の数

AdjacencyMatrix

public AdjacencyMatrix(SystemOperator[] elements)
このコンストラクターは使用できません。正方の行列しか生成できません。

パラメータ:
elements - 成分をもつ配列

AdjacencyMatrix

public AdjacencyMatrix(SystemOperator[][] elements)
引数を成分とする行列を生成します。

パラメータ:
elements - 成分をもつ配列
メソッドの詳細

setInputNodes

public void setInputNodes(List<Integer> inputNodes)
入力ポートが接続されているノードの番号のリストを設定します。

パラメータ:
inputNodes - 入力ポートが接続されているノードの番号のリスト

setSourceNodes

public void setSourceNodes(List<Integer> sourceNodes)
Sourceが接続されているノードの番号のリストを設定します。

パラメータ:
sourceNodes - Sourceが接続されているノードの番号のリスト

getImporters

public List<Importer> getImporters()
入力器のリストを返します。

戻り値:
入力器のリスト

getExporters

public List<Exporter> getExporters()
出力器のリストを返します。

戻り値:
出力器のリスト

setOutputNodes

public void setOutputNodes(List<Integer> outputNodes)
出力ポートが接続されているノードの番号のリストを設定します。

パラメータ:
outputNodes - 出力ポートが接続されているノードの番号のリスト

setSinkNodes

public void setSinkNodes(List<Integer> sinkNodes)
Sinkが接続されているノードの番号のリストを設定します。

パラメータ:
sinkNodes - Sinkが接続されているノードの番号のリスト

printElements

public void printElements(Writer output)
インタフェース Grid の記述:
ライターに成分を出力します。

定義:
インタフェース Grid 内の printElements
オーバーライド:
クラス BaseArray<AdjacencyMatrix,SystemOperator> 内の printElements
パラメータ:
output - ライター
関連項目:
BaseArray.printElements(java.io.Writer)

printElements

public void printElements(Writer output,
                          int maxColumnSize)
インタフェース Grid の記述:
ライターに成分を出力します。

定義:
インタフェース Grid 内の printElements
オーバーライド:
クラス BaseArray<AdjacencyMatrix,SystemOperator> 内の printElements
パラメータ:
output - ライター
maxColumnSize - 1行の出力する列の最大数
関連項目:
BaseArray.printElements(java.io.Writer, int)

getBlockSystem

public BlockSystem getBlockSystem()
隣接行列が表わすブロックシステムを返します。

戻り値:
隣接行列が表わすブロックシステム

isContinuousDynamic

public boolean isContinuousDynamic()
連続時間動的システムが含まれ、離散時間動的システムが含まれていないか判定します。

戻り値:
連続時間動的システムが含まれ、離散時間動的システムが含まれていなければtrue、そうでなければfalse

isDiscreteDynamic

public boolean isDiscreteDynamic()
離散時間動的システムが含まれ、連続時間動的システムが含まれていないか判定します。

戻り値:
離散時間動的システムが含まれ、連続時間動的システムが含まれていなければtrue、そうでなければfalse

isContinuous

public boolean isContinuous()
連続時間システム(連続時間動的システム又は連続時間静的システム)であるか判定します。

戻り値:
連続時間システムならばtrue、そうでなければfalse

isPiecewiseContinuous

public boolean isPiecewiseContinuous()
区分的連続システム(区分的連続動的システム又は区分的連続静的システム)を含むか判定します。

戻り値:
区分的連続システムを含むならばtrue、そうでなければfalse

isDiscrete

public boolean isDiscrete()
離散時間システム(離散時間動的システム又は離散時間静的システム)であるか判定します。

戻り値:
離散時間システムならばtrue、そうでなければfalse

isSampledDataDynamic

public boolean isSampledDataDynamic()
サンプル値動的システム(連続時間動的システムと離散時間動的システムの両方が含まれる)であるか判定します。

戻り値:
サンプル値動的システムならばtrue、そうでなければfalse

isSampledData

public boolean isSampledData()
サンプル値動的システム(連続時間動的システムと離散時間動的システムの両方が含まれる)であるか判定します。

戻り値:
サンプル値動的システムならばtrue、そうでなければfalse

isLinear

public boolean isLinear()
線形システムだけが含まれているか判定します。

戻り値:
線形システムだけが含まれていればtrue、そうでなければfalse

getLinearSystem

public LinearSystem getLinearSystem(boolean requiringReachableSubSystem)
入力ノードから出力ノードまでの線形システムを返します。

パラメータ:
requiringReachableSubSystem - 可到達なサブシステム(入力ノードから出力ノードまでのパスに対応するシステム)を求めるならばtrue
戻り値:
入力ノードから出力ノードまでの線形システム

getLinearSystemForMaxima

public LinearSystem getLinearSystemForMaxima(boolean requiringReachableSubSystem,
                                             ReversePolishNotationProcessor processor)
入力ノードから出力ノードまでの線形システムを返します。

パラメータ:
requiringReachableSubSystem - 可到達なサブシステム(入力ノードから出力ノードまでのパスに対応するシステム)を求めるならばtrue
processor - プロセッサ
戻り値:
入力ノードから出力ノードまでの線形システム

getLinearSystemByProcessor

public LinearSystem getLinearSystemByProcessor(boolean requiringReachableSubSystem,
                                               ReversePolishNotationProcessor processor)
入力ノードから出力ノードまでの線形システムを返します。

パラメータ:
requiringReachableSubSystem - 可到達なサブシステム(入力ノードから出力ノードまでのパスに対応するシステム)を求めるならばtrue
processor - 逆ポーランド記法のプロセッサー
戻り値:
入力ノードから出力ノードまでの線形システム

getSubgraph

public AdjacencyMatrix getSubgraph(List<Integer> nodes)
指定されたノードを含む部分グラフを返します。

パラメータ:
nodes - 部分グラフを形成するノードの番号のリスト
戻り値:
指定されたノードを含む部分グラフ

getSubgraph

public AdjacencyMatrix getSubgraph(BooleanMatrix candidates)
trueで指定されたノードのみを含む隣接行列を返します。

パラメータ:
candidates - 候補
戻り値:
trueで指定されたノードのみを含む隣接行列

getMinusOutputSizeMatrix

public DoubleMatrix getMinusOutputSizeMatrix()
システムの出力数の-1倍(符号反転)を重みとするグラフの隣接行列を返します。

戻り値:
システムの出力数の-1倍(符号反転)を重みとするグラフの隣接行列

getInputSizeMatrix

public DoubleMatrix getInputSizeMatrix()
システムの入力数を重みとするグラフの隣接行列を返します。

戻り値:
システムの入力数を重みとするグラフの隣接行列

hashCode

public int hashCode()
クラス BaseArray の記述:
Override hashCode.

オーバーライド:
クラス BaseArray<AdjacencyMatrix,SystemOperator> 内の hashCode
戻り値:
the Objects hash code.
関連項目:
BaseArray.hashCode()

equals

public boolean equals(Object obj)
オーバーライド:
クラス BaseArray<AdjacencyMatrix,SystemOperator> 内の equals
関連項目:
BaseArray.equals(java.lang.Object)

getNodeSignalSize

public int getNodeSignalSize(int nodeNumber)
ノードの大きさ(信号の数)を返します。

パラメータ:
nodeNumber - ノードの番号
戻り値:
ノードの大きさ(信号の数)

getInputSize

public int getInputSize()
入力の数を返します。

戻り値:
入力ノードの入力の数

getOutputSize

public int getOutputSize()
出力の数を返します。

戻り値:
出力ノードの出力の数

getInputPortTags

public Map<Integer,String> getInputPortTags()
入力ポートのノード番号(番号は1から始まります)とタグのマップを返します。

戻り値:
入力ポートのノード番号(番号は1から始まります)とタグのマップ

setInputPortTags

public void setInputPortTags(Map<Integer,String> inputPortTags)
入力ポートのノード番号(番号は1から始まります)とタグのマップを設定します。

パラメータ:
inputPortTags - 入力ポートのノード番号(番号は1から始まります)とタグのマップ

getOutputPortTags

public Map<Integer,String> getOutputPortTags()
出力ポートのノード番号(番号は1から始まります)とタグのマップを返します。

戻り値:
出力ポートのノード番号(番号は1から始まります)とタグのマップ

setOutputPortTags

public void setOutputPortTags(Map<Integer,String> outputPortTags)
出力ポートのノード番号(番号は1から始まります)とタグのマップを設定します。

パラメータ:
outputPortTags - 出力ポートのノード番号(番号は1から始まります)とタグのマップ

clone

public AdjacencyMatrix clone()
クラス AbstractGrid の記述:
Object#clone()

定義:
インタフェース Grid 内の clone
オーバーライド:
クラス BaseArray<AdjacencyMatrix,SystemOperator> 内の clone
戻り値:
複製(クローン)
関連項目:
BaseArray.clone()

showMatrix

public static void showMatrix(SystemOperator[][] matrix)
SystemOperatorの中身を出力します。

一時的なものです。

パラメータ:
matrix - システム行列

showMatrix

public static void showMatrix(AdjacencyMatrix adjacencyMatrix)
AdjacencyMatrixの中身を出力します。

一時的なものです。

パラメータ:
adjacencyMatrix - 隣接行列

setRequiringDescriptor

public void setRequiringDescriptor(boolean requiringDescriptor)
ディスクリプタ形式として求めるかを設定します.

パラメータ:
requiringDescriptor - ディスクリプタ形式として求めるならばtrue

getSymbolicTransferFunction

public AdjacencyConstantMatrix getSymbolicTransferFunction(boolean requiringReachableSubSystem)
伝達関数を数式形式で求めます.

パラメータ:
requiringReachableSubSystem - 可到達なサブシステム(入力ノードから出力ノードまでのパスに対応するシステム)を求めるならばtrue
戻り値:
伝達関数を表す隣接定数行列

setRequiringPrimitiveExpression

public void setRequiringPrimitiveExpression(boolean requiringPrimitiveExpression)
パラメータ:
requiringPrimitiveExpression - requiringPrimitiveExpressionを設定します。

isRequiringPrimitiveExpression

public boolean isRequiringPrimitiveExpression()
戻り値:
requiringPrimitiveExpressionを返します。