
Define hyperplanes for infrared arrangements
Source:R/make_infrared_ineqmat.R
make_infrared_ineqmat.Rd
The "infrared" hyperplane arrangements are in some sense
an extension of the "pastel" arrangements to be more like the
Rothenberg arrangements. (This is the sense of the color-conceit
name for the arrangments: they contain red-like colors that we
don't see in ordinary use of modal color theory.) That is, the
infrared arrangment for a given color contains all the pastel hyperplanes
(except those filtered out when include_wraparound=FALSE
),
plus additional ones that make comparisons between generic intervals
of different sizes (as the Rothenberg arrangements do). Unlike the
Rothenberg arrangements, however, the infrared arrangments are central:
every hyperplane passes through the "origin" generated by edoo()
.
It should be the case that every infrared hyperplane either belongs
to the pastel arrangement or is parallel to one in a Rothenberg arrangement.
This family of arrangements is conceieved primarily for the study
of voice leadings rather than scales themselves.
Value
A matrix with card+1
columns and k
rows (where k
is the
number of hyperplanes in the arrangement). When include_wraparound=TRUE
,
k
is the card
th doubly triangular number.
Details
These arrangements are still somewhat experimental and may change.
In particular, the ordering of hyperplanes currently is inconsistent
between settings for include_wraparound
.
Examples
# To see the effect of "include_wraparound" param, compare to
# pastel arrangments:
make_pastel_ineqmat(3)
#> [,1] [,2] [,3] [,4]
#> [1,] -1.0 2 -1.0 0
#> [2,] -2.0 1 1.0 -1
#> [3,] -1.0 -1 2.0 -1
#> [4,] -3.0 3 0.0 -1
#> [5,] -1.5 0 1.5 -1
#> [6,] 0.0 -3 3.0 -1
make_infrared_ineqmat(3)
#> [,1] [,2] [,3] [,4]
#> [1,] -1.0 2 -1.0 0
#> [2,] -3.0 3 0.0 -1
#> [3,] -1.5 0 1.5 -1
#> [4,] 0.0 -3 3.0 -1
make_infrared_ineqmat(3, include_wraparound=TRUE)
#> [,1] [,2] [,3] [,4]
#> [1,] -1.0 2 -1.0 0
#> [2,] -2.0 1 1.0 -1
#> [3,] -1.0 -1 2.0 -1
#> [4,] -3.0 3 0.0 -1
#> [5,] -1.5 0 1.5 -1
#> [6,] 0.0 -3 3.0 -1
# In general, infrared arrangments are more complicated than pastel:
make_pastel_ineqmat(4)
#> [,1] [,2] [,3] [,4] [,5]
#> [1,] -1.000000 2 -1 0.000000 0
#> [2,] -1.000000 1 1 -1.000000 0
#> [3,] 0.000000 -1 2 -1.000000 0
#> [4,] -2.000000 1 0 1.000000 -1
#> [5,] -1.000000 -1 1 1.000000 -1
#> [6,] -1.000000 0 -1 2.000000 -1
#> [7,] -2.000000 0 2 0.000000 -1
#> [8,] 0.000000 -2 0 2.000000 -1
#> [9,] -4.000000 4 0 0.000000 -1
#> [10,] -1.333333 0 0 1.333333 -1
#> [11,] 0.000000 -4 4 0.000000 -1
#> [12,] 0.000000 0 -4 4.000000 -1
make_infrared_ineqmat(4, include_wraparound=TRUE)
#> [,1] [,2] [,3] [,4] [,5]
#> [1,] -1.000000 2.000000 -1.000000 0.000000 0
#> [2,] -1.000000 1.000000 1.000000 -1.000000 0
#> [3,] 0.000000 -1.000000 2.000000 -1.000000 0
#> [4,] -2.000000 1.000000 0.000000 1.000000 -1
#> [5,] -1.000000 -1.000000 1.000000 1.000000 -1
#> [6,] -1.000000 0.000000 -1.000000 2.000000 -1
#> [7,] -2.000000 0.000000 2.000000 0.000000 -1
#> [8,] 0.000000 -2.000000 0.000000 2.000000 -1
#> [9,] -4.000000 4.000000 0.000000 0.000000 -1
#> [10,] -1.333333 0.000000 0.000000 1.333333 -1
#> [11,] 0.000000 -4.000000 4.000000 0.000000 -1
#> [12,] 0.000000 0.000000 -4.000000 4.000000 -1
#> [13,] -4.000000 0.000000 8.000000 -4.000000 -1
#> [14,] -1.600000 0.000000 0.800000 0.800000 -1
#> [15,] 4.000000 -8.000000 0.000000 4.000000 -1
#> [16,] -0.800000 -0.800000 0.000000 1.600000 -1
#> [17,] -2.666667 1.333333 1.333333 0.000000 -1
#> [18,] -1.333333 -1.333333 2.666667 0.000000 -1
#> [19,] 0.000000 -2.666667 1.333333 1.333333 -1
#> [20,] 0.000000 -1.333333 -1.333333 2.666667 -1
#> [21,] -2.000000 2.000000 -2.000000 2.000000 -1