In the standard model of computing multi-output functions in logspace ($\text{FL}$), we are given a read-only tape holding $x$ and a logarithmic length worktape, and must print $f(x)$ to a dedicated write-only tape. However, there has been extensive work (both in theory and in practice) on in-place algorithms for natural problems, where one must transform $x$ into $f(x)$ in-place on a single read-write tape with only $O(\log n)$ additional workspace. We say $f\in \text{inplaceFL}$ if $f$ can be computed in this model.
We initiate the study of in-place computation from a structural complexity perspective, proving upper and lower bounds on the power of $\text{inplaceFL}$. We show the following:
i) Unconditionally, $\text{FL}\not\subseteq \text{inplaceFL}$.
ii) For a permutation $f$, if $f\in \text{inplaceFL}$ then $f^{-1} \in\text{avgP}$. Thus, the problems of integer multiplication and evaluating $\text{NC}^0_4$ circuits lie outside $\text{inplaceFL}$ under cryptographic assumptions.
iii) Despite this, evaluating $\text{NC}^0_2$ circuits can be done in $\text{inplaceFL}$.
iv) We have $\text{FL} \subseteq \text{inplaceFL}^{\text{STP}}.$ Consequently, proving $\text{inplaceFL} \not\subseteq \text{FL}$ would imply $\text{SAT} \not\in \text{L}$.
We likewise show several extensions and strengthenings of the above results to in-place catalytic computation ($\text{inplaceFCL}$), where the in-place algorithm has a large additional worktape tape that it must reset at the end of the computation:
i) Assuming $\text{CL} \neq \text{PSPACE}$, then $\text{FCL} \not\subseteq \text{inplaceFCL}$, and under cryptographic assumptions, integer multiplication and $\text{NC}_4^0$ evaluation lie outside $\text{inplaceFCL}$.
ii) Despite this, $\text{inplaceFCL}$ can provably compute matrix multiplication and inversion over polynomial-sized finite fields.
We use our results and techniques to show two novel barriers to proving $\text{CL} \subseteq \text{P}$. First, we show that any proof of $\text{CL}\subseteq \text{P}$ must be non-relativizing, by giving an oracle $O$ relative to which $\text{CL}^O=\text{EXP}^O$. This answers an open problem raised in the survey of (Mertz B. EATCS). Second, we show that a search problem not known to be in $\text{P}$, namely $\mathcal{C}$-LossyCode for circuits of small width and depth, is in $\text{searchCL}$.