# Tree Graphs

## Getting Started

After following the “Get Started + Install” guide;

library(collatz)
# Optionally
library(gmp)

## tree_graph

Compute a tree graph, which takes both a value to initialise the tree from, and an “orbit distance” for how many layers deep in the tree to compute;

tree_graph(16, 3)
#> $16 #>$16$32 #>$16$32$64
#> $16$32$64$128
#> [1] NA
#>
#> $16$32$64$21
#> [1] NA
#>
#>
#>
#> $16$5
#> $16$5$10 #>$16$5$10$20 #> [1] NA #> #>$16$5$10$3 #> [1] NA It will also stop on finding a cycle; tree_graph(4, 3) #>$4
#> $4$8
#> $4$8$16 #>$4$8$16$32 #> [1] NA #> #>$4$8$16$5 #> [1] NA #> #> #> #>$4$1 #>$4$1$2
#> $4$1$2$CYCLE_INIT
#> [1] 4

And can be parameterised;

tree_graph(1, 1, -3, -2, -5)
#> $1 #>$1$-3 #> [1] NA If b is a multiple of a, but not of Pa, then 0 can have a reverse; tree_graph(0, 1, 17, 2, -6) #>$0
#> $0$CYCLE_INIT
#> [1] 0
#>
#> $0$3
#> [1] NA

The tree graph can run on bigz;

tree_graph((27+as.bigz("576460752303423488")), 3)
#> $576460752303423515 #>$576460752303423515$1152921504606847030 #>$576460752303423515$1152921504606847030$2305843009213694060
#> $576460752303423515$1152921504606847030$2305843009213694060$4611686018427388120
#> [1] NA
#>
#>
#> $576460752303423515$1152921504606847030$384307168202282343 #>$576460752303423515$1152921504606847030$384307168202282343\$768614336404564686
#> [1] NA