composition {cubing} | R Documentation |

## Composition Operators For Cube Objects

### Description

Composition operators for cubieCube objects.

### Usage

```
aCube %v% bCube
aCube %e% bCube
aCube %c% bCube
```

### Arguments

`aCube` |
A cubieCube object. |

`bCube` |
A cubieCube object. |

### Details

Both arguments must be cubieCube objects, not stickerCube objects.

If A and B are cubes then A `%v%`

B is the composition
(or multiplication) of A and B. This means that if `a`

and
`b`

are move sequences that produce A and B respectively from
the solved cube `I`

, then A `%v%`

B is produced using the combined
move sequence `ab`

applied to `I`

. Typically we just write AB
for A `%v%`

B.

Similarly to matrix multiplication, the operator `%v%`

is associative but
in general not commutative, with A`I`

and `I`

A both equal to A.
Every 3x3x3 cube A has a unique inverse cube A' where AA'
and A'A are both equal to `I`

. The inverse cube can be calculated
using the `invCube`

function.

The `%e%`

and `%c%`

operators are similar to `%v%`

but they compose
only the edges and corners respectively. Use of these operators may create an unsolvable
cube from two solvable cubes. They largely exist for internal reasons. See the help page on
`cycleEdges`

for details of their impact on solvability.

### Value

A cubieCube object

### See Also

`cycleEdges`

, `getMovesCube`

, `invCube`

,
`is.solvable`

, `move`

### Examples

```
aCube <- getCubieCube("Superflip")
bCube <- getCubieCube("EasyCheckerboard")
aCube %v% bCube
```

*cubing*version 1.0-5 Index]