# Decomposition of a Semigroup Structure

### Description

A function to perform the decomposition of a semigroup structure

### Usage

1 |

### Arguments

`S` |
an object of a ' |

`x` |
either an object of a ' |

`type` |
whether the reduction is based on a a congruence class or rather on a |

`reduc` |
(logical) does the return object should include the reduced structures? |

### Details

The `decomp`

function is a reduction form of an algebraic structure like the semigroup that verifies which of the class members in the system are congruent to each other. The decomposed object then is made of congruent elements, which form part of the lattice of congruence classes in the algebraic structure. In case that the input data comes from the Pacnet program, then such elements are in form of *π*-relations or the meet-complements of the atoms; otherwise these are simply equivalent elements satisfying the substitution property.

### Value

An object of '`Decomp`

' class having:

`clu ` |
vector with the class membership |

`eq ` |
the equations in the decomposition |

`IM ` |
(optional) the image matrices |

`PO ` |
(optional) the partial order table |

`dims` |
(optional) a vector with the dimensions of the image matrices |

### Note

Reduction of the partial order table should be made by the `reduc`

function.

### Author(s)

Antonio Rivero Ostoic

### References

Pattison, Philippa E. *Algebraic Models for Social Networks*. Cambridge University Press. 1993.

### See Also

`cngr`

, `reduc`

, `pi.rels`

, `semigroup`

, `partial.order`