setpower: Power of a Set

View source: R/operation_setpower.R

setpowerR Documentation

Power of a Set

Description

A convenience wrapper for the n-ary cartesian product of a Set by itself, possibly multiple times.

Usage

setpower(x, power, simplify = FALSE, nest = FALSE)

## S3 method for class 'Set'
x ^ power

Arguments

x

Set

power

power to raise set to, if "n" then a variable dimension set is created, see examples.'

simplify

logical, if TRUE returns the result in its simplest (unwrapped) form, usually a Set, otherwise an ExponentSet.

nest

logical, if FALSE (default) returns the n-ary cartesian product, otherwise returns the cartesian product applied n times. Sets. See details and examples.

Details

See the details of setproduct for a longer discussion on the use of the nest argument, in particular with regards to n-ary cartesian products vs. 'standard' cartesian products.

Value

An R6 object of class Set or ExponentSet inheriting from ProductSet.

See Also

Other operators: powerset(), setcomplement(), setintersect(), setproduct(), setsymdiff(), setunion()

Examples

# Power of a Set
setpower(Set$new(1, 2), 3, simplify = FALSE)
setpower(Set$new(1, 2), 3, simplify = TRUE)
Set$new(1, 2)^3

# Power of an interval
Interval$new(2, 5)^5
Reals$new()^3

# Use tuples for contains
(PosNaturals$new()^3)$contains(Tuple$new(1, 2, 3))

# Power of ConditionalSet is meaningless
ConditionalSet$new(function(x) TRUE)^2

# Power of FuzzySet
FuzzySet$new(1, 0.1, 2, 0.5)^2

# Variable length
x <- Interval$new(0, 1)^"n"
x$contains(Tuple$new(0))
x$contains(Tuple$new(0, 1))
x$contains(Tuple$new(0, 1, 0, 0, 1, 1, 0))
x$contains(list(Tuple$new(0, 2), Tuple$new(1, 1)))


xoopR/set6 documentation built on Sept. 2, 2023, 4:45 a.m.