qat.lang.AQASM.classarith.add
- qat.lang.AQASM.classarith.add(reg_size: int, reg_size_2: int)
Implementation based on [CTTK09]. Builds a circuit performing an addition using two qbits registers. The addition is done ‘in place’. Only the content of the first register is changed:
\[|a\rangle|b\rangle \mapsto |a + b\rangle|b\rangle\]All additions, unless specified, are modulo \(2^n\) where n is the size of the register holding the result.
The circuit has size \(7n\) (\(2n\) Toffoli and \(5n\) CNOT).
- Parameters:
reg_size (int) – the number of qbits on which to perform the addition
reg_size_2 (int) – the number of qbits holding the value of the number to add
Note
This adder is the default adder of the namespace
qat.lang.AQASM.classarith. This means that linking the full package to theto_circ()method will link this particular adder. If you wish to specifically use another adder (cuccaro_add()for instance), the adder should linked individually.