Learn R Programming

poseticDataAnalysis (version 0.1.1)

LexicographicProductPOSet: Computing lexicographic product orders.

Description

Computes the lexicographic product order of the input partial orders.

Usage

LexicographicProductPOSet(poset1, poset2, ...)

Value

The lexicographic product poset, an object of S4 class POSet.

Arguments

poset1

An object of S4 class POSet. Argument poset1 must be created by using any function contained in the package aimed at building object of S4 class POSet (e.g. POSet(), LinearPOSet(), ProductPOSet(), ...).

poset2

An object of S4 class POSet. Argument poset2 must be created by using any function contained in the package aimed at building object of S4 class POSet (e.g. POSet(), LinearPOSet(), ProductPOSet(), ...).

...

Optional additional objects of S4 class POSet. Optional arguments must be created by using any function contained in the package aimed at building object of S4 class POSet (e.g. POSet(), LinearPOSet(), ProductPOSet(), ...).

Details

Let \(P_1 = (V_1, \leq_1),\cdots, P_k = (V_k, \leq_k)\) be \(k\) posets. The lexicographic product poset \(P_{lxprd}=(V, \leq_{lxprd})\) has ground set the Cartesian product of the input ground sets, with \((a_1,\ldots,a_k)\leq_{lxprd} (b_1,\ldots,b_k)\) if and only \(a_1\leq_1 b_1\), or there exists \(j\) such that \(a_i=b_i\) for \(i<j\) and \(a_j\leq_j b_j\).

Examples

Run this code
elems1 <- c("a", "b", "c", "d", "e")
elems2 <- c("f", "g", "h")

dom1 <- matrix(c(
  "a", "b",
  "c", "b",
  "d", "b"
), ncol = 2, byrow = TRUE)

dom2 <- matrix(c(
  "g", "f",
  "h", "f"
), ncol = 2, byrow = TRUE)

pos1 <- POSet(elements = elems1, dom = dom1)

pos2 <- POSet(elements = elems2, dom = dom2)

#Lexicographic product of pos1 and pos2
lex.prod <- LexicographicProductPOSet(pos1, pos2)

Run the code above in your browser using DataLab