# Overview

This package implements some canonically used continuous bijections (also known as a homeomorphism) between subsets of $\mathbb{R}^n$. These are useful if you have a function

and would like to use it as a building block to define some

This package helps you find a function $h$ such that $g = f \circ h$ or $f = g \circ h$.

To make things concrete, consider the following examples.

### Example: Chebyshev polynomials

Chebyshev polynomials are defined on $(-1, 1)$. If you want to approximate a function on some generic $(a, b)$ interval, you will need to transform. Usually one uses something like

but calculating these things manually is tedious and error prone.

### Example: transformed multivariate normal

You want to characterize the joint distribution of some quantities

for a statistical problem. A frequently used approach is to generate a multivariate normal

and then transform $z_1$ to $x$, and $z_2$ to $y$ such that the constraints above hold.

### Example: domain transformation for MCMC

You are using Bayesian statistics to estimate a model with a posterior that has constraints, eg for a variance $\sigma > 0$ is required. You have an algorithm that can perform efficient MCMC for a log posterior

but to apply it, you need to transform from $\mathbb{R}$ to $(0, \infty)$. The log posterior should be adjusted by the log determinant of the transformation's Jacobian.

This package can help you with all of these.