Demo 475-207-7165 (347) 954-4405 View Original Matrix (563) 285-8639 View Decomposed Matrix 805-625-1592 347-930-4825 C++ Implementation Web Service Contact Us Make a Donation |
## Epsilon Decomposition
Welcome to the Demo Data
By clicking on What is Epsilon Decomposition
Epsilon decomposition, decomposes a matrix and creates a block diagonal matrix. It removes normalized matrix row elements that are less than epsilon (0 <= epsilon <= 1). The row elements are normalized by the absolute maximum value in the row. After the normalization process, all normalized row values are <= 1. The next step is to find what matrix rows are connected, then permute the matrix rows and columns in order to to get a block diagonal decomposed matrix. Epsilon decomposition can be used in decentralized control in order to find what parts of the system are weakly coupled. Note that program is handling both square and rectangular matrices. The following example demonstrates epsilon decomposition and its results. Let us apply epsilon decomposition with epsilon = 0.2 to the following matrix:
First the row elements are normalized by row absolute maximal value
After removing elements that are less than 0.2, reordering the row and columns and restoring original values, the following block diagonal matrix is produced:
The program also provides the following information: - Number of blocks after decomposition, for above example nBlocks = 2
- Block sizes given in the number of rows and columns, for above example:
rowBlockSize = [2 2], colBlockSize = [2 2] -
Permutation vectors:
Right hand side row permutation vector, rowPermRhs = [1 3 0 2] Left hand side row permutation vector, rowPermLhs = [2 0 3 1] Right hand side column permutation vector, colPermRhs = [0 2 1 3] Left hand side column permutation vector, colPermLhs = [0 2 1 3]
The permutation vectors can be used in a following way: Adec(rowPermLhs, colPermLhs) = Aorg or Adec = Aorg(rowPermRhs, colPermRhs) After permuting the original matrix one needs to remove elements that are outside the blocks in order to get a block diagonal decomposed matrix. I hope that you are going to enjoy using Epsilon Decomposition site. Regards, Dejan Miljkovic |