An explanation of the Bernstein-Vazirani and Deustch-Josza algorithms with the quantum stabilizer formalism
Funding information: Gobierno del Principado de Asturias, FC-GRUPIN-IDI/2018/000193; FC-GRUPIN-IDI/2018/000226; Ministerio de Ciencia e Innovación, RTI2018-098085-B-C44; Ministerio de Economía, Industria y Competitividad, Gobierno de España, MTM-2017-83506-C2-2-P; Secretaría de Estado de Investigación, Desarrollo e Innovación, MINECO-16-TEC2015-67387-C4-3-R
Abstract
The standard description of a quantum algorithm consists in three steps. First, encoding the data in a suitable initial quantum state. Second, driving such a state by a convenient sequence of unitary transformations until a final quantum state is reached. Third, measuring the final state and use such a measurement to solve the problem the quantum algorithm was designed for. An alternative description is provided by the stabilizer formalism, which was originally introduced in connection with quantum error correcting codes. In this paradigm, the focus is on the subgroup of elements of the Pauli group stabilizing the initial quantum state, and the transformations that such a subgroup experiments along the algorithm. In this work, we provide an explanation of two foundational quantum algorithms (Bernstein-Vazinari and Deustch-Josza) based on such a quantum stabilizer formalism. Doing so, we provide a better understanding and insight into both procedures which yield to see Bernstein-Vazirani as a particular case of Deustch-Josza, and to introduce a generalized version of Deustch-Josza algorithm.
1 INTRODUCTION
The standard description of a quantum algorithm (following the seminal ideas of References 1-4) consists in three steps. First, encoding the data in a suitable initial quantum state. Second, driving such a state by a convenient sequence of unitary transformations until a final quantum state is reached (that can be implemented by quantum gates, resembling the microdesign of classical algorithms from logical states5). Third, measuring the final state and use such a measurement to solve the problem the quantum algorithm was designed for. For instance, in Grover6 and Shor7 algorithms (the most well-known quantum algorithms), the initial state is a uniform superposition of computational basis states. It encodes the elements of the unsorted database to look for, in the first case, and a representation of an approximation to the inverse of the period of an element in the residual group of units mod N, where N is the integer to factor, in the second case. The sequence of unitary transformations in those algorithms is an iterative composition of the oracle function (which encodes the elements of the data base to be found) and the diffusion operator (Grover's algorithm), or a sequence of controlled powers of a unitary operator (which encodes the modular multiplication by the element of the residual of units mod N) followed by an inverse quantum Fourier transform (Shor's algorithm). The measurement of the final state of Grover's algorithm provides (with probability approaching to one as the size of the database increases) a desired element in the database, whereas the measurement of the final state of Shor's algorithm can be used to approximate the order on an invertible element mod N, which can be used to factor N (under certain circumstances).
An alternative description of quantum algorithms is provided by the stabilizer formalism.5 In this paradigm, the focus is on the subgroup of elements of the Pauli group stabilizing the initial quantum state, and the transformations that such a subgroup experiments along the algorithm. Originally introduced in connection with quantum error correcting codes,8, 9 it can be also used to provide alternative description and understanding of some quantum algorithms.
In this work, we provide an explanation of two classical quantum algorithms (Bernstein-Vazinari (BV)10 and Deutsch-Josza (DJ)4) based on such a quantum stabilizer formalism. Doing so, we provide a better understanding and insight into both procedures which yield to see BV as a particular case of DJ, and to introduce a generalized version of DJ algorithm.
The outline of this article is as follows. Preliminaries on the quantum stabilizer formalism are collected in Section 2. Section 3 is devoted to the explanation of the BV and DJ algorithms under the quantum stabilizer formalism. In Section 4, we consider a possible extension of these problems, based on the understanding provided by the stabilizer paradigm. Finally, conclusions and future directions of research can be found in Section 5.
2 THE STABILIZER FORMALISM
In this preliminary section, we introduce notation, and collect well-known facts of quantum computing.
2.1 Computational quantum states
In this article, will be a 2n−dimensional Hilbert space of n ≥ 1 qubits, with a computational basis (here denotes the Galois field of two elements 11). Elements in , written |x⟩, are given by the -linear combinations of the elements in B, that is, . The coefficients are called “amplitudes,” and the element is assumed to be normalized, that is, of complex norm equal to one: (here ⟨x| denotes the transpose conjugate of the element x, that is, ). Normalized quantum states are the states used in quantum computation.
2.2 Evolution of the quantum states
A complex 2n × 2n−invertible matrix will be called “unitary” if , where denotes its conjugate transposed matrix. These matrices represent the set of possible transformations that can be driven by a quantum computation, which has a group structure under multiplication, denoted U(2n) and called “unitary group.” Another important class of matrices is given by the Hermitian ones, that is, those H ∈ U(2n) such that H = H†. The set of Hermitian matrices is a dimensional complex vector space, which is related to the unitary group via the Schrödinger equation , where H(t) denotes the Hamiltonian driving the time-dependent quantum state |x(t)⟩, i is the complex unity, and is Planck reduced constant (see 2.2.2 of Reference 5). Such a Hamiltonian is given by a Hermitian matrix, and the solution to such an equation is U(t) |x(0)⟩, where is a unitary matrix.
2.3 Measurements
Measures of a quantum state |x⟩ are given by a set of “measurement operators” , where , satisfying the “completeness equation” . The output of such a measure on |x⟩ is probabilistically the vector Mm|x⟩, suitably normalized by the square of p(m) = ⟨x|Mm|x⟩ (ie, ⟨x|Mm · x⟩). The number p(m) represents the actual probability of such a measure. Usually, measures are carried over the computational state basis, and so the measurement operators are . In this case, the probability of obtaining |i⟩ after measurement of the quantum state is .
2.4 The Pauli group
2.5 Centralizer of subgroups of the Pauli group
- ⋆ is linear in both arguments: , and , for all , );
- (a|b) ⋆ (a|b) = 0, for all ;
- For all nonzero , there exists such that (a|b) ⋆ (c|d) ≠ 0.
From here, it follows that if S is a nonempty subset of Gn, then its centralizer is equal to {U ∈ Gn | w(U) ⊥ w(T), for all T ∈ S}. It will be denoted by S⊥. In particular, the center of Gn is , a cyclic group of order 4, and is a well-defined group isomorphism (from a multiplicative group to an additive group). The “quantum weight” of an element U ∈ Gn, is defined as the number of 1 ≤ i ≤ n such that ai ≠ 0 or bi ≠ 0, where w(U) = (a|b).
2.6 The main theorem of the stabilizer formalism
The following result is the fundamental basis of the stabilizer formalism.
Theorem 1.Let S be a subgroup of Gn. Then, the set VS = {|x⟩ | U|x⟩ = |x⟩ , ∀U ∈ S} is nonzero if and only if . In such a case:
- 1.
The map is a group monomorphism.
- 2.
S is an elementary abelian 2−subgroup of dimension 1 ≤ n − k ≤ n (ie, S isomorphic to the additive group ) and, correspondingly, w(S) is a totally isotropic subspace of (ie, (a|b) ⋆ (c|d) = 0, for all (a|b),(c|d) ∈ w(S)).
- 3.
can be decomposed in 2n − k eigenspaces of dimension 2k, which can be indexed by the multiplicative characters of S according to the map
- 4.
If T ∈ U(2n), then (TST†)(T|x⟩) = T|x⟩, for all . In particular, if Cn denotes the normalizer of Gn in U(2n) (ie, the “Clifford group”), then , for all |x⟩ ∈ VS and T ∈ Cn.
- 5.
More generally, Gn acts on the set (via ), so that the stabilizer subgroup of VS (ie, the elements T of Gn such that T · VS = VS) is S⊥, and S is the subgroup of Gn stabilizing VS elementwise.
Proof.It can be found in 10.5 of Reference 5 and Reference 12, but we stated it here for completeness. The condition is clearly necessary (as such an operator does not fix any quantum state). Let us now assume that . We shall verify items 1 to 5 while proving that VS ≠ 0.
- •
Items 1 and 2: Since , then any nonidentity element in Gn has order 2. This is because , and so the possible orders for nonidentity elements are 2 or 4. But, , which is , unless k = 0,2, that is, unless the element has order 2. Now, S must be abelian, because all the elements in S are self-invertible (they are either the identity, or they have order 2), and so for all U,T ∈ S, we have
- •
Items 3, 4, and 5: Now, assuming that S1, … , Sn − k is a basis of S, we shall see item 3, by induction on n − k. As a consequence, we deduce VS ≠ 0.
– The case n − k = 1 is straightforward, since S1 has order 2, which forces its eigenvalues to be ±1, and its trace to be zero. This makes 2n − 1 eigenvalues equal to 1, and 2n − 1 eigenvalues equal to −1, which is the base case of induction (there are two 2n − 1−dimensional eigensubspaces, indexed by the trivial character and its opposite).
– Now, assume that the case n − k − 1 is true, and let us prove the case n − k. By induction, ⟨S1, … , Sn − k − 1⟩ decomposes (C2)⊗n in 2n − k − 1 eigenspaces of dimension 2k + 1, indexed by the multiplicative characters of ⟨S1, … , Sn − k − 1⟩, with indexed by the trivial character. Let be one of such eigenspaces indexed by the character of ⟨S1, … , Sn − k − 1⟩. Let us prove that Sn − k leaves invariant .
Namely, for all , and for all U ∈ ⟨S1, … , Sn − k − 1⟩, since Sn − k commutes with S1, … , Sn − k − 1, it commutes with ⟨S1, … , Sn − k − 1⟩, and so
Now, since is a monomorphism, and ⋆ is nondegenerate, there exists T ∈ Gn such that , that is, such that T anticommutes with Sn − k, and commutes with the other Si. Therefore, for all , we have
Now, if is an eigenvector of Sn − k with eigenvalue , then
The set of 2n − k eigenspaces of dimension 2k, is indexed by the multiplicative characters of ⟨S1, … , Sn − k⟩, namely (ie, the multiplicative character is equal to , when restricted to ⟨S1, … , Sn − k − 1⟩, and it is ). The trivial character clearly indexes , which is so nonzero.
This theorem states that, up to a global phase, there is a correspondence between certain quantum states of and elementary abelian 2-subgroups of Gn of dimension n. Moreover, any quantum computation carried out by operators of the Clifford group on one of those states is directly translated into a conjugation operation in the Pauli group. So, certain quantum algorithms that involve circuits containing quantum gates from the Clifford group can be classically simulated (efficiently) by tracking conjugates of n elements of the Clifford group. This fact, along with the corresponding efficiency in the measures described in 10.5.3 of Reference 5, is known as the “Gottesman-Knil theorem.”13
Example
Let us illustrate the stabilizer paradigm with the circuit of Figure 1.

The initial state is |φ0⟩ = |0⟩ ⊗ |0⟩, with stabilizer subgroup S0 generated by Z1 = I ⊗ Z, and Z2 = Z ⊗ I. Application of the Hadamard gate in the first qubit transforms |φ0⟩ into . The corresponding subgroup is obtained by conjugation of ⟨Z1,Z2⟩ by the element H ⊗ I, that is, it is S1 = ⟨X1 = X ⊗ I,Z2⟩. The control NOT gate yields the (Bell) state , and the corresponding stabilizer subgroup S2 = ⟨X1 ⊗ X2,Z1 ⊗ Z2⟩. Right before the measurement, we have the quantum state (another Bell state), whose stabilizer group is S3 = ⟨− X1 ⊗ X2,Z1 ⊗ Z2⟩. Table 1 contains a summary of the quantum states and the stabilizer subgroups corresponding to the circuit of Figure 1.
Stage | Quantum state | Stabilizer subgroup |
---|---|---|
0 | |0⟩ ⊗ |0⟩ | ⟨Z1,Z2⟩ |
1 | ⟨X1,Z2⟩ | |
2 | ⟨X1 ⊗ X2,Z1 ⊗ Z2⟩ | |
3 | ⟨− X1 ⊗ X2,Z1 ⊗ Z2⟩ |
This formalism explains straighforwardly the familiy of quantum error correcting codes known as “stabilizer codes” (see 10.5.5 of Reference 5). In this context, certain 2k-dimensional quantum error correcting codes VS are described by the corresponding elementary abelian 2-subgroups S of Gn of dimension n − k, known as “error group.” The errors with no effect on the quantum state are those effected by elements of S, where as the undetectable errors are those in S⊥ ∖ S, since they transform the quantum state in another one belonging to the code. The correctable errors are subsets E of Gn such that whenever T,U ∈ E, then T−1U ∉ S⊥ ∖ S. This set is usually taken as those elements of the Pauli group of quantum weight not greater than , where d is minimum quantum weight of the elements in S⊥ ∖ S.12
3 BV AND DJ ALGORITHMS
In this section, we explain BV and DJ algorithms with the stabilizer formalism introduced above. Both algorithms have quantum access to a binary function by an oracle , in the standard way O(|x⟩ |y⟩) = |x⟩ |x ⊕ f(y)⟩, where , and . As usual, this oracle is managed in its phase oracle version, that is, since O(|x⟩ |−⟩) = (− 1)f (x)|x⟩ |−⟩, for the single qubit element , the auxiliary last qubit is dropped and the corresponding oracle is Of|x⟩ = (− 1)f (x)|x⟩, for all .
3.1 BV
The goal of the BV algorithm is to determine a linear function from its evaluations. That is, a certain function f is given under the promise that f(x) = x · s, for some binary unknown array (here again · denotes the standard inner product in ). Clasically, this problem requires O(n) evaluations of f (that yield the solution of the corresponding linear system of equations). However, BZ only uses a single (quantum query) evaluation of f. The algorithm, whose quantum circuit can be found in Figure 2, is as follows.
INPUT: A linear function , with f(x) = x · s, for all |
OUTPUT: A vector s |
Set the initial quantum state |0⊗n⟩ |
Apply the Walsh-Hadamard transform [ 5, 1.4.2] H⊗n, where is the Hadamard gate |
Apply the phase oracle Of |
Apply the Walsh-Hadamard transform H⊗n |
If the measurement of the final state in the computational basis is |s⟩, RETURN “s” |

It can be proved that, with probability one, the final measurent gives the quantum state |s⟩, for the desired unknown value s. Let us prove this fact under the stabilizer formalism, in a straightforward way.
Since |0⟩ is an eigenvector of the Pauli matrix Z (with eigenvalue 1), it is clear that the initial sate |0⊗n⟩ is stabilized by any matrix of the form Z(ei), where is an element in the standard basis of . The subgroup S of Gn generated by those n matrices is abelian, since the elements are pairwise orthogonal, with respect to the bilinear form ⋆ (ie, is a totally isotropic subspace of ).
Since HZH† = X, we have that application of the Walsh-Hadamard transform H⊗n on the initial state is equivalent to applying the conjugation by H⊗n on each of the matrices Z(ei), and so the stabilizer subgroup is generated by the n matrices .
Now, it follows the application of the phase oracle Of. Observe that, for all 1 ≤ i ≤ n, and , the operator transforms the quantum state |x⟩ of the computational basis, into (when xi = 0, the state remains the same, and it takes an opposite global phase when xi = 1). Therefore, because of linearity , for all . Hence, the action of the phase oracle on the quantum state is translated into conjugation by the element Z(s), that is, since ZXZ† = −X, those 1 ≤ i ≤ n with si = 0 have an unmodified X(ei) as generator of the stabilizer subgroup, whereas those with si = 1 provide by conjugation the generator −X(ei). Summarizing, the stabilizer subgroup is generated by . Incidentally, notice that the oracle Of, is an element of the Pauli group (and so in particular of the Clifford group), so the algorithm can be efficiently realised via the Gottesman-Knill theorem.
A second application of the operator H⊗n, because of the relation HXH† = Z, yields that the stabilizer subgroup finally achieved is generated by the n matrices .
Since the Z matrix stabilizes the qubit |0⟩, and −Z stabilizes the qubit |1⟩, we have that, for all 1 ≤ i ≤ n, and , the matrix (− 1)aZ stabilizes the quantum state |a⟩. Therefore, the state stabilized by the last subgroup is exactly |s⟩, and so the final measure of the algorithm gives |s⟩ with probability one. A summary of the quantum states and the stabilizer subgroups corresponding to BV algorithm can be found in Table 2.
Stage | Quantum state | Stabilizer subgroup |
---|---|---|
0 | |0⊗n⟩ | ⟨Z1, … , Zn⟩ |
1 | ⟨X1, … , Xn⟩ | |
2 | ||
3 | |s⟩ |
3.2 DJ
The goal of the DJ algorithm is to determine if a function is constant or balanced. That is, a certain function f is given under the promise that it is constant (ie, f = 0 or f = 1) or balanced (ie, . Clasically, this problem requires O(2n − 1) evaluations of f (half plus one evaluations are needed in the worst case to distinguish a constant or balanced function). However, DJ only uses a single (quantum query) evaluation of f. The algorithm, whose quantum circuit can be found in Figure 3, is as follows. Observe that, except for the decision taken after the final measurement, the steps of the BV and DJ algorithms are the same. This explains why Figures 2 and 3 are the same.
INPUT: A boolean function , promised to be either constant or balanced |
OUTPUT: “f CONSTANT” or “f BALANCED” |
Set the initial quantum state |0⊗n⟩ |
Apply the Walsh-Hadamard transform H⊗n, where is the Hadamard gate |
Apply the phase oracle Of |
Apply the Walsh-Hadamard transform H⊗n |
If the measurement of the final state in the computational basis is |0⊗n⟩, RETURN “f CONSTANT”. |
Else, RETURN “f BALANCED” |

It can be proved that, with probability one, the final measurement gives the quantum state |0⊗n⟩ if and only if f is constant. When f is balanced, it gives other element of the computational basis. The first two steps in DJ are those of BV, and so the stabilizer subgroup is generated by the n matrices after them.
Observe that the quantum circuit of DJ is just like that of BV.
- a = b = 0n, where ;
- a ≠ 0n, where .
Hence, Of can be expressed as a nontrivial complex linear combination of the elements in the set . Remember, from the analysis of BV, that the elements in this set correspond to phase oracles of nonzero linear functions. However, unlike BV, this oracle might not correspond to an element of the Clifford group (and as a consequence the algorithm might not be efficiently realisable via the Gottesman-Knill theorem). A measurement of the realizability of the algorithm is the “stabilizer rank,”14 which in this case is upper bounded by the number of nonzero coefficients of Of as a linear combination of the elements in the set .
Coming back to the stabilizer formalism analysis of DJ, we have that , when f is constant, and that , for certain complex numbers (with ), when f is balanced. Hence, the action of the phase oracle on the third step of DJ, is translated into conjugation by either , or by a nontrivial linear combination of operators Z(b), with b ≠ 0. In the first case, the stabilizer group after this step is again the one generated by . In the second case, since , the stabilizer subgroup is (where ⊕ denotes addition in ).
Finally, since , the measurement yields with probability one |0⊗n⟩ if and only if f is constant. A summary of the quantum states and the stabilizer subgroups corresponding to DJ algorithm, can be found in Table 3.
Quantum state | Stabilizer subgroup | |||
---|---|---|---|---|
Stage | f constant | f balanced | f constant | f balanced |
0 | |0⊗n⟩ | ⟨Z1, … , Zn⟩ | ||
1 | ⟨X1, … , Xn⟩ | |||
2 | ⟨X1, … , Xn⟩ | |||
3 | ± |0⊗n⟩ | ⟨Z1, … , Zn⟩ |
4 BEYOND THE KNOWN ALGORITHMS: GENERALIZED DJ
In this section, we consider a possible extension of the BV and DJ algorithms, based on the understanding provided by the stabilizer paradigm of the previous section. First, we remark is that the BV algorithm can be seen (except by its output), as a particular case of the DJ algorithm. Namely, in both algorithms, all the steps except for the last one are exactly the same. Moreover, being linear any promised function for the BV algorithm, such a function must be either f = 0 or balanced (the set is the kernel of the -linear function f, and so its cardinality is , because its image is ). Therefore, when measured with probability one, the output state |0⊗n⟩ occurs if and only if f is constant (ie, f = 0). In any other case, the function is balanced. Moreover, in the case n = 1, the two balanced functions are the only nonzero linear ones (with oracle Of = Z(1)), and its complementary function (with oracle Of = −Z(1)). So, BV is exactly the same as DJ (which in this case is called “Deutsch Algorithm”15). Second, we want to remark on the nature of the DJ oracle, that is expressed as . This expression is not exclusive of the oracle of balanced or constant functions, but of any arbitrary boolean function, too. If we consider the analysis of the DJ algorithm, the condition “f balanced” is only used to deduce that , so such an expression is valid for any function . So, if we apply any of the two algorithms to an arbitrary boolean function f, the final measurement would be |b⟩, one of the states of the computational basis that appears in the description of the corresponding oracle Of. The probability of such a measurement is exactly .
Finally, from the point of view of the connections with quantum error correcting codes and the stabilizer formalism, we can “see” BV and DJ as the decoding procedure of errors introduced by the “perturbations” Z(b) involved in the linear combination of the oracle Of. The measurement |s⟩ is, therefore, one of the possible syndromes induced by such perturbations. This lead us to introduced a generalization of the DJ problem, for each possible syndrome .
Given a vector , and a Boolean function , with the promise that the function f ⊕ s |
is either constant or balanced, determine which is the case. |
A solution of this problem is given by the:
INPUT: A vector , and a boolean function , with the promise that the function g = f ⊕ s is either constant or balanced |
OUTPUT: “g CONSTANT” or “g BALANCED” |
Set the initial quantum state |0⊗n⟩ |
Apply the Walsh-Hadamard transform H⊗n, where is the Hadamard gate |
Apply the phase oracle Of |
Apply the Walsh-Hadamard transform H⊗n |
If the measurement of the final state in the computational basis is |s⟩, RETURN “g CONSTANT”. |
Else, RETURN “g BALANCED” |
This algorithm gives the right answer to the Generalized DJ problem, with probability one. The reason is that, since for all , we have Og|x⟩ = (− 1)g(x)|x⟩ = (− 1)s · x(− 1)f (x)|x⟩ = (− 1)s · xOf|x⟩ = Of(− 1)s · x|x⟩ = OfZ(s) |x⟩. Therefore, the algorithm returns “g BALANCED” if and only if the final measurement is not |s⟩, if and only if is zero, if and only if , if and only if g is really balanced (because , with , since ).
5 CONCLUSIONS AND FUTURE WORK
In this article, we have presented an explanation of the correctness of the BV and DJ algorithms based on the stabilizer formalism. This paradigm was initially introduced in connection to quantum error correcting codes, but it is useful to provide a better understanding of other techniques in quantum computation, like the ones considered here. Inspired by this link, we have introduced a generalised version of the DJ problem, and the corresponding algorithm that solves it. In the process, we have seen that the phase oracle of any boolean function can be expressed as a linear combination of tensor products of Z gates. And that the probability of measurement of a certain element in the computational basis, by the algorithms under study, is directly related to the coefficients of such a linear combination. Further inspired by this facts, we intend to explore a family of problems, that we call “quantum exact promise problems,” in which a certain subset of boolean functions is partitioned into a collection of subsets which have to be distinguished from each other.
ACKNOWLEDGEMENTS
This work was supported in part by the Ministry of Economy and Competitiveness (“Ministerio de Economía y Competitividad”) from Spain/FEDER under grant MINECO-16-TEC2015-67387-C4-3-R, by the Ministry of Economy, Industry and Competitiveness (“Ministerio de Economía, Industria y Competitividad”) from Spain/FEDER under grant MTM-2017-83506-C2-2-P, by Ministry of Science and Innovation (“Ministerio de Ciencia e Innovación”) from Spain/FEDER under grant RTI2018-098085-B-C44, and by he Regional Ministry of the Principality of Asturias (“Consejería de Empleo, Industria y Turismo del Principado de Asturias”) under grants FC-GRUPIN-IDI/2018/000193 and FC-GRUPIN-IDI/2018/000226.
CONFLICT OF INTEREST
The authors declare no potential conflict of interests.
Biographies
Elías F. Combarro is an Associated Professor at Universidad de Oviedo (Spain). He holds degrees in both Mathematics (1997) and Computer Science (2002) and a PhD in Mathematics (2001). He is the author of more than thirty research papers in topics such as Computability Theory, Theory of Fuzzy Measures, Computational Classification of Semifields and Quantum Computing. Currently, his main research interest is Quantum Computing.
Alejandro Piñera-Nicolás received the Ph.D. in Algebra in 2007 from Universidad de Oviedo (Spain). His studies include Applied Mathematics and Differential Equations, while his research interests also include Representation Theory, Coding Theory and Non-Associative Algebra. He teaches Mathematics in the Universidad de Oviedo (Spain).
José Ranilla is a Professor at Universidad de Oviedo (Spain). He holds degrees in Computer Science (1987 and 1993) and a PhD in Computer Science (1998). He is the author of more than eighty research papers in topics such as High-Performance and Parallel Computing, Design of Energy-Efficient Computing solutions and Text Categorization. His current research interests also include Quantum Computing.
Ignacio Fernández Rúa is an Associated Professor at Universidad de Oviedo (Spain). Graduated in Mathematics in 1999, he received his Ph.D. in 2004. Research fellow of the Spanish “Juan de la Cierva” program at Universidad de Cantabria (Spain), from 2004 to 2007. Coauthor of some thirty research papers on non-associative finite rings, and their applications to coding theory and cryptography. His current research interests include also computer algebra and quantum computing.