# Linear Computation Coding: A Framework for Joint Quantization and Computing
## 6 Simulation Results
### Competing Algorithms beyond CSD
#### 6.4.1 Multiplierless Multiple Constant Multiplication  
An efficient approach in the literature is reported in [29]. For a bit width of 12, which corresponds to a distortion level of \(-72\) dB, approximately one addition per entry is reported for multiplying a vector \(t\) with a scalar constant \(x\) Figure 12a of [29], if the dimension of the vector \(t\) is larger than 20.  
When utilizing the method of [29] for matrix-vector multiplication, however, one also has to sum the vector-scalar products to obtain the final result. This requires close to  
\begin{table}
\begin{tabular}{c c c c c c c} \hline \hline \(\tilde{\mathcal{C}}\) & \(-24\) dB & \(-48\) dB & \(-72\) dB & \(-96\) dB & \(-120\) dB & \(-144\) dB \\ \hline \(4\times 2\) & 1.280 & 2.578 & 3.836 & 5.069 & 6.289 & 7.493 \\ \(16\times 2\) & 1.142 & 1.997 & 2.822 & 3.640 & 4.451 & 5.259 \\ \(64\times 4\) & 0.846 & 1.520 & 2.196 & 2.870 & 3.541 & 4.212 \\ \(256\times 6\) & 0.685 & 1.221 & 1.761 & 2.300 & 2.839 & 3.378 \\ \(1024\times 10\) & 0.528 & 0.975 & 1.424 & 1.873 & 2.322 & 2.771 \\ \(4096\times 16\) & 0.422 & 0.803 & 1.185 & 1.567 & 1.949 & 2.332 \\ \hline \(K\times N\) CSD & \(1.66-\frac{1}{N}\) & \(3.32-\frac{1}{N}\) & \(4.98-\frac{1}{N}\) & \(6.63-\frac{1}{N}\) & \(8.29-\frac{1}{N}\) & \(9.95-\frac{1}{N}\) \\ \(K\times N\) CSD\({}_{\text{a}}\) & \(1.28-\frac{1}{N}\) & \(2.53-\frac{1}{N}\) & \(3.86-\frac{1}{N}\) & \(5.19-\frac{1}{N}\) & \(6.51-\frac{1}{N}\) & \(7.84-\frac{1}{N}\) \\ \(K\times N\) CSD\({}_{\text{h}}\) & \(1.24+\frac{N-1}{N}\) & \(2.90+\frac{N-1}{N}\) & \(4.56+\frac{N-1}{N}\) & \(6.22+\frac{N-1}{N}\) & \(7.88+\frac{N-1}{N}\) & \(9.54+\frac{N-1}{N}\) \\ \(K\times N\) CSD\({}_{\text{ah}}\) & \(1.00+\frac{N-1}{N}\) & \(2.15+\frac{N-1}{N}\) & \(3.51+\frac{N-1}{N}\) & \(4.86+\frac{N-1}{N}\) & \(6.18+\frac{N-1}{N}\) & \(7.50+\frac{N-1}{N}\) \\ \hline \hline \end{tabular}
\end{table}
Table 2: Average number of additions per matrix entry that are required to have the median distortion a certain level (between 24 and 144 dB) below the norm of the output vector.  
one further addition per matrix entry (precisely \(1-\frac{1}{N}\) additions). So, in total close to two additions per matrix entry are required. A comparison with Tables 1 and 2 shows that our method is inferior for matrix sizes up to 64, but superior for matrix sizes of 256 and beyond. For matrices of size 4096, we even save about 40% of the additions. While the savings in [29] hardly depend on the size of the matrix, the efficiency of our method increases with matrix size.  
The complexity of the preprocessing algorithm in [29] is much higher. As reported in Table VII in [29] it scales, even in its simplified form, as \(\mathsf{O}(N^{3}b^{5})\) with \(N\) and \(b\) denoting vector dimension and bit width, respectively. For a square matrix containing \(N\) columns and rows, that results in an overall complexity of \(\mathsf{O}(N^{4}b^{5})\). Our method, by contrast, has decomposition complexity \(\mathsf{O}(N^{3}b)\). As a result, simulating the precise performance of the algorithm in [29] for large matrices, where our method is most competitive, is practically infeasible.