fact: Factorize Partially Ordered Semigroups

factR Documentation

Factorize Partially Ordered Semigroups

Description

A function to factorize partially ordered semigroup structures by induced inclusions.

Usage

fact(S, P, uniq = TRUE, fac, atoms, mca, atmc, patm, k)

Arguments

S

A “Semigroup” class object.

P

A “Partial.Order” “strings” class object associated to S.

uniq

(logical) Should the factorization include unique induced inclusions?

fac

(optional) The ‘factor’ to be factorized for partially ordered structures.

atoms

(optional and logical) Short for including "mca" and "atmc" in the output.

mca

(optional and logical) Include pairs of meet-complements of pair of atoms in output?

atmc

(optional and logical) Include meet-complements of pair of atoms in output?

patm

(optional and logical) Include potential atoms in output?

k

(optional) Integer with length of induced inclusion.

Details

Factorization is a subdirect-representation-based decomposition technique for a partially ordered semigroup. This procedure decomposes the algebraic structure into simpler components, called factors, each of which is a semigroup factor representing a specific homomorphic image of the algebra.

For partially ordered semigroups, these factors are isotone homomorphic images corresponding to maximally independent features of the original semigroup of relations. The quotient semigroups and the reduced partial order tables together form the factorizing set, which is given by the decomposition with decomp.

Value

A list of “Ind.incl” class object having:

po

partial order table

iin

list of induced inclusions pairwise listed

niin

length of induced inclusions

patm

(for patm) a vector with potential atoms

atm

vector with atoms

atmc

(for atmc) array with meet-complements of atoms

mc

array of meet-complements of atoms

Class attribute, and a warning message when no substitution property found in induced inclusions.

References

Ardu, S. ASNET – Algebraic and Statistical Network Analysis. User Manual. University of Melbourne. 1995. (for the implementation algorithm)

See Also

decomp, cngr, pacnet

Examples

# create a partially ordered semigroup
arr <- round( replace( array(runif(18), c(3,3,2)), array(runif(18),
       c(3,3,2))>.5, 1 ) )

# semigroup of relations
S <- semigroup(arr)

# string relations and partial order
P <- strings(arr) |> 
  partial.order()

# perform the factorisation of PO S
fact(S, P)

multiplex documentation built on July 30, 2026, 5:13 p.m.