On the dependence of the complexity and depth of reversible circuits consisting of NOT, CNOT, and 2-CNOT gates on the number of additional inputs

Abstract The paper is concerned with the complexity and depth of reversible circuits consisting of NOT, CNOT, and 2-CNOT gates under constraints on the number of additional inputs. We study the Shannon functions for the complexity L ( n , q ) and depth D ( n , q ) of a reversible circuit implementing a map <m:math xmlns:m="http://www.w3.org/1998/Math/MathML"> <m:mrow> <m:mi>f</m:mi> <m:mo>:</m:mo> <m:msubsup> <m:mi>ℤ</m:mi> <m:mn>2</m:mn> <m:mi>n</m:mi> </m:msubsup> <m:mo>→</m:mo> <m:msubsup> <m:mi>ℤ</m:mi> <m:mn>2</m:mn> <m:mi>n</m:mi> </m:msubsup> </m:mrow> </m:math> $f\colon \mathbb{Z}_2^n \to \mathbb{Z}_2^n$ under the condition that the number of additional inputs q is in the range <m:math xmlns:m="http://www.w3.org/1998/Math/MathML"> <m:mrow> <m:mn>8</m:mn> <m:mi>n</m:mi> <m:mo>&lt;</m:mo> <m:mi>q</m:mi> <m:mo>≲</m:mo> <m:mi>n</m:mi> <m:msup> <m:mn>2</m:mn> <m:mrow> <m:mi>n</m:mi> <m:mo>−</m:mo> <m:mrow> <m:mo>⌈</m:mo> <m:mrow> <m:mi>n</m:mi> <m:mtext> </m:mtext> <m:mo>/</m:mo> <m:mi>ϕ</m:mi> <m:mo stretchy="false">(</m:mo> <m:mi>n</m:mi> <m:mo stretchy="false">)</m:mo> </m:mrow> <m:mo>⌉</m:mo> </m:mrow> </m:mrow> </m:msup> </m:mrow> </m:math> $8n &lt; q \mathbin{\lower.3ex\hbox{$\buildrel&lt;\over {\smash{\scriptstyle\sim}\vphantom{_x}}$}} n{2^{n - \left\lceil {n{\rm{ }}/\phi (n)} \right\rceil }}$ , where ϕ ( n ) → ∞ and n / ϕ ( n ) − log 2 n → ∞ as n → ∞. We establish the upper estimates <m:math xmlns:m="http://www.w3.org/1998/Math/MathML"> <m:mrow> <m:mi>L</m:mi> <m:mo stretchy="false">(</m:mo> <m:mi>n</m:mi> <m:mo>,</m:mo> <m:mi>q</m:mi> <m:mo stretchy="false">)</m:mo> <m:mo>≲</m:mo> <m:msup> <m:mn>2</m:mn> <m:mi>n</m:mi> </m:msup> <m:mo>+</m:mo> <m:mn>8</m:mn> <m:mi>n</m:mi> <m:msup> <m:mn>2</m:mn> <m:mi>n</m:mi> </m:msup> <m:mtext> </m:mtext> <m:mo>/</m:mo> <m:mo stretchy="false">(</m:mo> <m:msub> <m:mrow> <m:mi>log</m:mi> </m:mrow> <m:mn>2</m:mn> </m:msub> <m:mo stretchy="false">(</m:mo> <m:mi>q</m:mi> <m:mo>−</m:mo> <m:mn>4</m:mn> <m:mi>n</m:mi> <m:mo stretchy="false">)</m:mo> <m:mo>−</m:mo> <m:msub> <m:mrow> <m:mi>log</m:mi> </m:mrow> <m:mn>2</m:mn> </m:msub> <m:mi>n</m:mi> <m:mo>−</m:mo> <m:mn>2</m:mn> <m:mo stretchy="false">)</m:mo> </m:mrow> </m:math> $L(n,q) \lesssim 2^n + 8n2^n \mathop / (\log_2 (q-4n) - \log_2 n - 2)$ and <m:math xmlns:m="http://www.w3.org/1998/Math/MathML"> <m:mrow> <m:mi>D</m:mi> <m:mo stretchy="false">(</m:mo> <m:mi>n</m:mi> <m:mo>,</m:mo> <m:mi>q</m:mi> <m:mo stretchy="false">)</m:mo> <m:mo>≲</m:mo> <m:msup> <m:mn>2</m:mn> <m:mrow> <m:mi>n</m:mi> <m:mo>+</m:mo> <m:mn>1</m:mn> </m:mrow> </m:msup> <m:mo stretchy="false">(</m:mo> <m:mn>2</m:mn> <m:mo>,</m:mo> <m:mn>5</m:mn> <m:mo>+</m:mo> <m:msub> <m:mrow> <m:mi>log</m:mi> </m:mrow> <m:mn>2</m:mn> </m:msub> <m:mi>n</m:mi> <m:mo>−</m:mo> <m:msub> <m:mrow> <m:mi>log</m:mi> </m:mrow> <m:mn>2</m:mn> </m:msub> <m:mo stretchy="false">(</m:mo> <m:msub> <m:mrow> <m:mi>log</m:mi> </m:mrow> <m:mn>2</m:mn> </m:msub> <m:mo stretchy="false">(</m:mo> <m:mi>q</m:mi> <m:mo>−</m:mo> <m:mn>4</m:mn> <m:mi>n</m:mi> <m:mo stretchy="false">)</m:mo> <m:mo>−</m:mo> <m:msub> <m:mrow> <m:mi>log</m:mi> </m:mrow> <m:mn>2</m:mn> </m:msub> <m:mi>n</m:mi> <m:mo>−</m:mo> <m:mn>2</m:mn> <m:mo stretchy="false">)</m:mo> <m:mo stretchy="false">)</m:mo> </m:mrow> </m:math> $D(n,q) \lesssim 2^{n+1}(2,5 + \log_2 n - \log_2 (\log_2 (q - 4n) - \log_2 n - 2))$ for this range of q . The asymptotics <m:math xmlns:m="http://www.w3.org/1998/Math/MathML"> <m:mrow> <m:mi>L</m:mi> <m:mo stretchy="false">(</m:mo> <m:mi>n</m:mi> <m:mo>,</m:mo> <m:mi>q</m:mi> <m:mo stretchy="false">)</m:mo> <m:mo>≍</m:mo> <m:mi>n</m:mi> <m:msup> <m:mn>2</m:mn> <m:mi>n</m:mi> </m:msup> <m:mtext> </m:mtext> <m:mo>/</m:mo> <m:msub> <m:mrow> <m:mi>log</m:mi> </m:mrow> <m:mn>2</m:mn> </m:msub> <m:mi>q</m:mi> </m:mrow> </m:math> $L(n,q) \asymp n2^n \mathop / \log_2 q$ is established for q such that <m:math xmlns:m="http://www.w3.org/1998/Math/MathML"> <m:mrow> <m:msup> <m:mi>n</m:mi> <m:mn>2</m:mn> </m:msup> <m:mo>≲</m:mo> <m:mi>q</m:mi> <m:mo>≲</m:mo> <m:mi>n</m:mi> <m:msup> <m:mn>2</m:mn> <m:mrow> <m:mi>n</m:mi> <m:mo>−</m:mo> <m:mrow> <m:mo>⌈</m:mo> <m:mrow> <m:mi>n</m:mi> <m:mtext> </m:mtext> <m:mo>/</m:mo> <m:mi>ϕ</m:mi> <m:mo stretchy="false">(</m:mo> <m:mi>n</m:mi> <m:mo stretchy="false">)</m:mo> </m:mrow> <m:mo>⌉</m:mo> </m:mrow> </m:mrow> </m:msup> </m:mrow> </m:math> ${n^2} \mathbin{\lower.3ex\hbox{$\buildrel&lt;\over {\smash{\scriptstyle\sim}\vphantom{_x}}$}} q \mathbin{\lower.3ex\hbox{$\buildrel&lt;\over {\smash{\scriptstyle\sim}\vphantom{_x}}$}} n{2^{n - \left\lceil {n{\rm{ }}/\phi (n)} \right\rceil }}$ , where ϕ ( n ) → ∞ and n / ϕ ( n ) − log 2 n → ∞ as n → ∞.