Learn R Programming

musicMCT (version 0.4.0)

make_infrared_ineqmat: Define hyperplanes for infrared arrangements

Description

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 conceived primarily for the study of voice leadings rather than scales themselves.

Usage

make_infrared_ineqmat(card, include_wraparound = FALSE)

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 cardth doubly triangular number.

Arguments

card

The cardinality of the scale(s) to be studied

include_wraparound

Boolean: should hyperplanes that involve intervals that wrap around the octave be included? Defaults to FALSE.

Details

These arrangements are still somewhat experimental and may change. In particular, the ordering of hyperplanes currently is inconsistent between settings for include_wraparound.

See Also

make_pastel_ineqmat() and make_roth_ineqmat()

Examples

Run this code
# To see the effect of "include_wraparound" param, compare to
# pastel arrangements:
make_pastel_ineqmat(3)
make_infrared_ineqmat(3)
make_infrared_ineqmat(3, include_wraparound=TRUE)

# In general, infrared arrangements are more complicated than pastel:
make_pastel_ineqmat(4)
make_infrared_ineqmat(4, include_wraparound=TRUE)

Run the code above in your browser using DataLab