Learn R Programming

multiplex (version 1.9.3)

semiring: Semiring Structures for Balance Theory

Description

A function to construct semiring structures for the analysis of structural balance theory.

Usage

semiring(x, type = c("balance", "cluster"), symclos = TRUE, transclos = TRUE, labels = NULL, k = 2)

Arguments

x
an object of a `Signed' class
type
balance or cluster semiring?
symclos
(logical) apply symmetric closure?
transclos
(logical) apply transitive closure?
labels
(optional) labels for the semiring output
k
length of the cycle or the semicycle

Value

An object of `Semiring' class. The items included are:
val
the valences in the semiring
s
the original semiring structure
Q
the resulted semiring structure
k
the number of cycles or semicycles

Details

Semiring structures are based on signed networks, and this function provides the capabilities to handle either the balance semiring or the cluster semiring within the structural balance theory.

A semiring combines two different kinds of operations with a single underlying set, and it can be seen as an abstract semigroup with identity under multiplication and a commutative monoid under addition. Semirings are useful to determinate whether a given signed network is balanced or clusterable. The symmetric closure evaluates this by looking at semicycles in the system; otherwise the evaluation is through closed paths.

References

Harary, F, Z. Norman, and D. Cartwright Structural Models: An Introduction to the Theory of Directed Graphs. New York: John Wiley & Sons. 1965.

Doreian, P., V. Batagelj and A. Ferligoj Generalized Blockmodeling. Cambridge University Press. 2004.

See Also

signed, as.signed

Examples

Run this code
## Create the data: two sets with a pair of binary relations 
## among three elements
arr <- round( replace( array( runif(18), c(3 ,3, 2) ), array( runif(18),
       c(3, 3, 2) ) > .5, 3 ) )

## Make the signed matrix with two types of relations
sg <- signed(arr)

## Establish the semiring structure
semiring(sg)

Run the code above in your browser using DataLab