Integer division and range narrowing mechanics
First, it should be determined that a direct division operation is impossible. To obtain the quotient, a multi-step mechanism should be used.
Last updated
First, it should be determined that a direct division operation is impossible. To obtain the quotient, a multi-step mechanism should be used.
Last updated
In the integer division scheme, we define this operation as an equation in a multidimensional space , in which the main goal is to determine the cipher quotient hyperedge from the dividend hyperedge and the divisor hyperedge .
To simplify, we can define division as an operator equation:
It is worth clarifying what each element of this equation means:
and , are incidence matrices with noise;
, a linear transformation that inverts the influence of on , which is constructed using the Moore–Penrose inverse.
To solve the division problem, it is necessary to define the mechanics of range narrowing as:
This is done to ensure that the quotient hyperedge remains within the ranges of .
The next step is to initialize the cipher hyperedge and then define the inverse operator for the incidence matrix of the divisor.
Cipher hyperedges with cubic noise elements:
Also introduce regularization parameters to reduce the noise increase due to small singular values at the points:
As a result, the division operation can be expressed as:
We continue to expand:
Let's calculate the residual noise:
Hope it's clear why, but if for some reason it is not clear then you can read our article on noise management here (there we are talking about noise components after subtraction, but the logic is appropriate).
Now the criteria for assessing compliance will be determined as:
Additive type of error is:
Cubic noise correction:
The next step is to recalculate the residual noise after the update:
We will also check the compliance with tolerances:
It is reasonable to ask how the stability of the structure is determined. Recall that the incidence matrix has good rows provided that:
And also the definition of the kernel norm:
Finally, let's define a limit for the total accumulated noise:
We have briefly discussed the mechanics of dividing integers, and in the following we will also describe approaches to dividing rational numbers.
Where and are the cubic noise vectors added to and .
In this case, is a transposition of , is the identity matrix of the corresponding size.
Let's substitute the operator :
A further goal is to ensure that is within the acceptable range while minimizing the residual noise. That is, we literally apply the projection operator to limit :
Component by component, for each :
Where is the noise tolerance threshold after which the ciphertexts will become insane.
Next step iteratively refine to minimize residual noise:
For each iteration until :
Where is defined as:
In this case, is a scaling factor to control the influence of noise on iterations .
As was said earlier, to guarantee the stability of the hypergraph structure in the presence of cubic noise, the inequality must be satisfied for good strings with large (more details were described here):
After iterative refinement, the final chiper hyperedge is described as follows: