Beyond z=0. The Deutsch-Jozsa decided monochromatic languages
BBeyond z=0. The Deutsch-Jozsa decided monochromaticlanguages
Eraldo Pereira Marinho Abstract
The present work points out that the Deutsch-Jozsa algorithm was the firstformal description of a quantum decider. In particular, it is studied here theclass of languages whose indicator functions allow the Deutsch-Jozsa algorithmto output a monochromatic result, beyond the trivial case z = 0 for constantindicator functions. To illustrate examples of randomly balanced languages andsome monochromatic cases, it was performed classical computational simula-tions of the Deutsch-Jozsa quantum algorithm for the specific cases of 4 and 6qubits, respectively. The general case of the Deutsch-Jozsa decided languagesare named balanced languages, and their outcomes from the simulation sug-gest that such languages are equivalent to the quantum superposition of themonochromatic cases.
Keywords:
Deutsch-Jozsa algorithm, monochromatic languages, binaryperiodic languages, quantum decider, digital periodicity, quantum decidability
1. Introduction
Anyone who has started their studies in quantum computing certainly mar-veled at the parallelism power of the quantum computation, embedded in the rel-atively simple universal quantum computer introduced by (Deutsch and Jozsa,1992, abbreviated as DJ92 hereafter), described as the quantum circuit shownin Figure 1. | (cid:105) ⊗ n / n H ⊗ n U f H ⊗ n / n | ψ out (cid:105)| (cid:105) H H | (cid:105) Figure 1: The Deutsch-Jozsa search algorithm
The DJ92 algorithm is an improved version of that presented in a originalwork of Deutsch (1985), in which a quantum generalization of Turing machines Department of Statistics, Applied Mathematics and Computing, São Paulo State Univer-sity, Rio Claro, SP, Brazil – e-mail: [email protected]
Preprint submitted to Elsevier September 20, 2019 a r X i v : . [ qu a n t - ph ] S e p as proposed, favored by the exponential speedup of the quantum parallelism,which would be physically impossible of being reproduced by a classical com-puter. Further improvement on the DJ92 method, exploring additional poten-tialities, was presented by Cleve et al. (1998).The most striking demonstration of the power of quantum parallelism, whosecentral idea resided in the DJ92 algorithm, was the quantum algorithm for primedecomposition of large integers formulated by Shor (1994, 1996). To date, noalgorithm can decompose large integers into polynomial time when reproducedby a deterministic Turing machine, and it is in the class NP (e.g. Garey andJohnson, 2000).To realize how fast a quantum algorithm is in comparison to the classicalmethods of solving computationally difficult tasks, let us consider the best con-ventional algorithm known at present, which is the general sieve number (GNFS)algorithm, famous for factoring large n -bit integers, N ≤ n − , larger than , in the sub-exponential time of O (cid:0) exp (cid:114) n (log n ) (cid:1) On the other hand, the Shor quantum algorithm is only O ( n ) time, at the costof O ( n ) quantum gates. Thus, the Shor’s quantum algorithm is O (cid:18) exp (cid:113) n (log n ) (cid:19) O ( √ n ) = O (cid:0) exp (cid:114) n (log n ) (cid:1) . faster than the GNFS method, which is at least a fascinating speedup, not tosaying fantastic.Another very clever application, having as kernel the DJ92 algorithm, isthe also famous Grover (1996) algorithm. The Grover key-search method isa quantum algorithm capable of violating a password authentication system,such as the RFS encryption system in only O ( √ N ) steps, where N = 2 n isthe number of possibilities of matching the oracle’s kept-in-secret n -bit key. Torealize its exponential speedup, the Grover’s algorithm would be O (2 ) fasterthan the conventional brute force method to break a -bit secret key.As mentioned in the abstract, there exists in the DJ92 algorithm an underly-ing problem of decidability, so that the quantum oracle acquires a more elegantperspective if discussed in the context of quantum languages, as will be done inthe following paragraphs.Mixing the jargon of quantum computation with the formal concepts ofcomputability theory (e.g., Sipser, 1996; Hopcroft and Ullman, 1979; Kelley,1995), it can be said that the Deutsch-Jozsa algorithm was the first formalpropose of a quantum decider, even that it was not explicitly quoted by theauthors. Formal languages can be defined according to Chomsky’s grammaticalformalism and can also be defined in the recognizers formalism given by AlanTuring. In the grammatical formalism, a language is defined by a grammarfrom which all strings of the language are derived. The broader category of2anguages is called unrestricted. According to Chomsky’s theory of syntacticstructures, the grammatical complexity is connected to the abstraction level oftheir languages, which decreases with number of restrictions imposed to theirgrammars, running from 0 through 3 restrictions:Type 0: is the top-level category of formal languages, known as unrestrictedlanguages, whose grammars have production rules in the form α → β ,where α and β are replacement patterns, aka sentential forms, which arestrings involving zero or plus terminal and non-terminal symbols – ter-minals are the symbols of the language alphabet, whereas non-terminalare temporary symbols, used for recursive replacements, until reachingproductions whose right-hand-side β comprises terminal symbols only;Type 1: is the category called context sensitive languages, whose grammarshave only one constraint: their production rules cannot be contractive –namely, the right side β of the production rules cannot be smaller thanthe left form α , | α | ≥ | β | ;Type 2: is the class known as context-free languages, and are imposed 2 re-strictions to their grammars – they are context-sensitive languages witha further restriction that the left-hand-side α can only be a solo non-terminal, namely α = A , so that all productions are in the form A → β ;Type 3: is the lowest level category, well known as regular languages have theircorresponding grammars with 3 restrictions – they are type-2 languageswhose grammars have a further restriction which is that the right-hand-side, α , is totally made of terminals, with an optional appending non-terminal, say β = ω or β = ω A , where ω is a terminal string and A a solonon-terminal.In the recognizers formalism, unrestricted languages are the collection ofstrings that are accepted by a Turing machine, also called recognizer or acceptor.By accepting means that the machine halts at a specific set of states, calledacceptance states. Such language is said to be acceptable. It can be provedthat, if a language is acceptable, then there exists a Turing machine, knownas recursive enumerator, programmed to indefinitely list all the strings of thelanguage. Such a process of infinitely listing the strings of a language, throughthe reuse of the elements of a finite set, is known as recursive enumeration.The process of deriving strings from a grammar, in crescent order of lengths,is an example of recursive enumeration. Any formal language is a recursivelyenumerable language.The fact that a language is recursively enumerable does not guarantee that itwill ever be possible to program a Turing machine that will stop for any input.To be more specific, an acceptor is a Turing machine that stops if the inputstring belongs to the language. On the other hand, if the input string doesnot belong to the language, nothing can be stated about how long the Turingmachine takes until it stops, and if at some point it will stop.3he category of languages whose Turing machine stops under any circum-stances is called decidable languages. This particular machine that can eitheraccept or reject the input strings in a finite number of steps is called a de-cider, also known as a total Turing machine. The process of recursively listinga decidable language can be done by listing all the strings of a given alphabet,separating them from those belonging to those that do not belong to a decidablelanguage. This is the reason why decidable languages are also called recursivelanguages. One can prove that Chomsky’s type 1 is exactly the universe of re-cursive languages (e.g., Sipser, 1996; Hopcroft and Ullman, 1979; Kelley, 1995).As the Chomsky’s type-2 and 3 are subcategories of the type 1 languages, itfollows that both the latter are also recursive.A decider can also be interpreted as the total Turing machine which repro-duces an indicator function f : Σ ∗ (cid:55)→ { , } for a source language L , namely f ( x ) = (cid:40) , iff x ∈ L , iff x (cid:54)∈ L (1)which means that the f -exercising Turing machine reads the input string x fromone tape and writes, say, in another tape a bit 0 or 1 in response to the query x . The domain Σ ∗ is known as the universe language, which is defined as theKleene’s closure over the alphabet Σ , namely Σ ∗ ≡ ∞ (cid:91) n =0 Σ n (2)where, the exponentiation Σ n , with n ∈ N , abbreviates the recursive concate-nation of Σ by itself in n − times, namely Σ n +1 = Σ n Σ = ΣΣ n . (3)For example, if Σ = { , } , then Σ = { , , , } , Σ = Σ Σ = { , , , , , , , } , and, alternatively, Σ = ΣΣ = { , , , , , , , } . The null exponentiation Σ = { ε } is required for consistency, where ε isthe null string ε , which is the zero-length string, and is the neutral element ofthe string operation of concatenation. In fact, doing the replacement n = 0 inequation (3), we find Σ = Σ Σ = ΣΣ .All of the previous paragraph applies to concatenation between languages.Thus, if A and B are languages, then the concatenation AB is defined as thefollowing set AB = { ω = uv | u ∈ A ∧ v ∈ B } . The exponentiation of concate-nation is recursively defined as in equation (3), namely A n +1 = A n A = AA n . If A (cid:54) = ∅ , A = { ε } . The Kleene closure A ∗ , with A (cid:54) = ∅ , is given as in equation (2).A more elegant view of the indicator function is that of a universal Turingmachine U , which receives the formal description of a language L at its input,and outputs a Turing machine U ( L ) to respond to input strings, at a later stage,according to equation (1), namely U ( L ) : Σ ∗ (cid:55)→ { , } , so that U ( L, x ) ≡ f ( x ) .4ince the alphabet must be finite, the universe language itself is infinitelyenumerable. To be more specific, Σ ∗ is a recursive set since every string derivedfrom Σ is already in Σ ∗ , so that U (Σ ∗ , x ) = 1 is a constant function in Σ ∗ . Thecomplement language of Σ ∗ is of course the empty set ∅ , which would result inanother constant function, namely U ( ∅ , x ) = 0 , since no string can belong to ∅ . | x (cid:105) / n U f / n | x (cid:105)| y (cid:105) | y ⊕ f ( x ) (cid:105) Figure 2: The quantum oracle as conceived by Deutsch-Jozsa (1992)
One can easily conclude from the foregoing paragraphs that Deutsch-Jozsa’sidea of a quantum oracle, as illustrated in Figure 2, is equivalent to having aquantum computer running a very sophisticated and complex program, whichcompiles an input code describing the characteristics of the source language,whose object code is a quantum subroutine to reproduce the indicator functionfor this language. At a later stage, this object code is then loaded and executedby the idealized quantum computer to parse the source language, respondingthrough the response qubit if the input string is syntactically correct or not.By syntactically correct, the reader certainly understands that the input codeglobally attends the lexical (type-3), syntactic (type-2) and semantic (type-1)requirements of the language, depending on its Chomsky’s classification.As a generalization, a language L is said to be quantum decidable, or quan-tum recursive, if and only if it is possible to programming a quantum oracle, likethe one sketched in Figure 2, so that for any input string x ∈ { , } n , bound toan answer bit y ∈ { , } , one finds the quantum parser response, namely | x (cid:105) ⊗ | y (cid:105) U f −−→ | x (cid:105) ⊗ | y ⊕ f ( x ) (cid:105) (4)The reader has certainly noticed that if the number n of qubits in the query-bus, in the circuit of Figure 2, could be previously chosen, the n -bit domain, { , } n , would be just representing a generic term of the Kleene closure { , } ∗ ,defined in equation (2).The implementation of a quantum decider requires consideration of whatmight turn out to be a language that will not be decided by a quantum computer.Such concern stems from the halting problem, which can be interpreted in termsof quantum computing as follows. Is there a quantum analog for the haltingproblem? Is it possible that a classical problem, known as undecidable, can bedecided by a quantum computer? When searching the literature of quantumcomputing, one can easily conclude that the quantum version of the quantumshutdown problem is not yet closed (e.g., Deutsch, 1985; Song, 2008; Linden andPopescu, 1998).The difference between classical and quantum architectures radically altersthe concept of temporality of quantum algorithms. For example, iterative loops,5hich are easily transposed into von Neumann’s architecture, are replaced byconnecting identical quantum modules, similarly to the O ( √ N ) replicas of theGrover’s subroutine. So the halting problem for a quantum computer can beequivalent to asking the following question: “Is there a finite number of quantumgates necessary to solve a quantum computing problem?”Now we have another fundamental question. Are there classical problems,admittedly undecidable, that could be quantum decidable? In other words, areChomsky’s type-0 languages equivalent to quantum type 1? This question is asstrong as asking: “There exists an NP-complete problem that could be solved inpolynomial time by a quantum computer?”. The answer is not yet known (e.g.,Aaronson, 2005).Of course the above question will not be answered here. So the best we cando now is to focus on the category of languages that are decided by the quantumoracle as the one proposed in the DJ92 algorithm, in behalf of an idealization ofa reliable quantum computer, which is capable of running a versatile operatingsystem, perhaps manned/interrupted by a classic computer, so that the oracleis a quantum version of a category of programs which compiles a compiler, asdiscussed below.We do already admit that the DJ92 quantum oracle is the idealization ofa universal quantum computer, running a very complex program, which wasdesigned to automatically generate a parser for an arbitrary language, formallydescribed by a source code such as a context-sensitive grammar. Such idea is,in some sense, equivalent to the quantum idealization of a compiler compiler,similar to the well known UNIX command yacc , which is the anachronismfor “yet another compiler compiler” (Aho et al., 1988). Unfortunately, yacc islimited to LR(1) grammars, a subcategory of the context free grammars.Thus, it is reasonable to idealize the DJ92’s oracle as the quantum compilercompiler, which works in two stages. The first stage is the preparation timeat which the oracle learns the syntax of an input language, e.g., by means ofits grammar. The second stage is the running time, when the machine starts aquantum process which takes the combined query ⊗ answer registers. The objective of this work is to reintroduce the quantum oracle, centralactor in the DJ92 algorithm, as a quantum-computational model to define anew category of formal languages, namely the quantum-recursive languages ,even that, by now, we are neglecting the existence of languages which could fitin this category that would not be classically recursive.As a case study, we focus on the category of languages whose indicatorfunctions are either constant or balanced throughout the n -bit domain { , } n which is a particularity of the Kleene’s universe { , } ∗ of the bit alphabet.As a supplementary study, we investigate a more specific category of lan-guages which allows the DJ92 algorithm to output monochromatic states, namely,pure n -qubit states | z (cid:105) , with z ∈ N . 6 .2. Paper structure The present manuscript is structured as follows:In Section 2 a brief summary of the relevant aspects of the formal languagesand quantum computation will be done, necessary for a good understanding ofthe formalism adopted in the subsequent sections.In Section 3 we study balanced languages, defined solely in terms of the ex-pected results from the Deutsch-Jozsa algorithm. Also in the referred section, itis introduced the definition of binary periodic languages, which is shown to bethe building blocks of a broader category of languages, namely the monochro-matic languages, which is the main objective of the present paper.The detailed study and also some illustrative computer simulation of monochro-matic languages will be given in Section 4. Finally, we conclude the presentstudy in Section 5.
2. Preliminary considerations
As the reader has certainly noticed from the previous paragraphs, stringshas been represented in boldface font, e.g., x , whereas variables and constantsare represented in simple italic font. For instance, indices and numerals are pref-erentially named as i , k , m , n . However, to avoid confusion with the imaginaryunity i , the variable name i will be omitted.Another enforcement to justify the boldface notation here adopted for stringsis that they can be interpreted as the lattice coordinates of a hypercube in the n -dimensional euclidean space, R n . In such interpretation, the n -bit string theexpected position vector x ≡ x n − x n − . . . x x (5)of a particle whose motion is confined to migrate from one vertex to another inthe hypercubic lattice. The boolean coordinates x j , ≤ j ≤ n − , stands forwhich end (either 0 or 1) of the j th edge of the hypercube the particle is.If we had to be more formal, the numeric meaning x , denoted in scalarnotation, of a bitstring x would be interpreted as the output of a string-to-number conversion function, say bitstrval : { , } n (cid:55)→ N , into a nonnegative integer x : x = bitstrval ( x ) = n − (cid:88) j =0 x j j (6)Conversely to equation (6), we can find the bitstring x ∈ { , } n , derivedfrom a nonnegative integer in the n -bit interval x ∈ [0 , n − , by means of thehomomorphism, namely bstr : [0 , n − (cid:55)→ { , } n : x = x n − . . . x j . . . x ≡ bstr ( x ) (7)7 lgorithm 1 Number to bitstring conversion
Require: n ∈ N , x ∈ [0 , n − Ensure: the number-to-bitstring conversion bstr : [0 , n − (cid:55)→ { , } n function bstr ( n : N , x : [0 , n − { , } ∗ x ← ε for j = 0 to n − , do x j ← x mod j +1 x ← x x j end do return x where the bstr ( n, x ) operation is computed by means of the Algorithm 1.According to the Algorithm 1, Line 2 performs the initialization of the bit-string variable x , defined as an instance of the abstract type string, namely x : { , } ∗ . The builtin constant ε is the null string. Line 4 is self explana-tory, but Line 5 abstracts the recursive concatenation of the older right stackedstring x with the new bit x j got from the bitwise operation x j ← x mod j +1 ,at iteration j . Thus, x = x for j = 0 , x = x x for j = 1 , and so on, until j = n − , which forces the for-loop exiting, followed by Line 7 which returnsthe just computed bitstring x .Praising the pragmatism, we have to abandon the details above by simplyidentifying x with its numeric meaning; namely, the string x is itself a nonnega-tive, n -bit number x ≡ bitstrval ( x ) , culling out any low-level computer detailregarding the abstract type bitstring, namely the object type within Σ ∗ { , } .We call an n -bit register as the physical device which stores a sequenceof n bits, which is usually an auxiliary memory used to fetch the instructionoperands.Another essential bit operations are the pair, bitget ( j, x ) and bitput ( j, x , b ) ,which grants read/write access to single bit located at position j in an n -bit reg-ister .A register is any physical device which stores, for ulterior recall, a spatialarrangement of flip-flop memory cells, whose status are represented by booleanvariables disposed along an n -position bit array, say ( x , x , . . . , x n − , x n − ) .For example, if x ≡ (1 , , , were the status of a 4-bit register, then thefunction bitget (0 , x ) would return the value 1, and the value 0 for bitget (1 , x ) .On the other hand, if the bitput were called as bitput (1 , x , on the justsupposed 4-bit string, we would have the string changed to ≡ (1 , , , . Sucha pair of bit access operations requires a bit-ordering convention to correctlyinterpret the numerical meaning of a string x ∈ { , } n .A quantum register is a physical device capable of storing, even provisionally,the combined states of multiple qubits. The pure states that can be stored ina quantum recorder result from the tensor product between the pure states ofthe individual qubits of the computational basis, namely { | (cid:105) , | (cid:105) } ⊗ n = { | (cid:105) , | (cid:105) } ⊗ . . . ⊗ { | (cid:105) , | (cid:105) } ( n factors ) (8)8o that each element of { | (cid:105) , | (cid:105) } ⊗ n corresponds to | x (cid:105) ≡ n − (cid:79) j =0 | x j (cid:105) (9)where each individual state | x j (cid:105) , ≤ j ≤ n − is a pure state in basis { | (cid:105) , | (cid:105) } of the Hilbert-qubit space, H . The set { | (cid:105) , | (cid:105) } ⊗ n constitutesthe basis of the n th power tensor of H , denoted as H ⊗ n , which is in turn a n -dimension Hilbert space.Each pure state | x (cid:105) ∈ { | (cid:105) , | (cid:105) } ⊗ n can be identified with its label x ∈{ , } n . Thus, | x (cid:105) can be denoted as follows | x (cid:105) ≡ | x n − x n − . . . x x (cid:105) ≡ | x (cid:105) ⊗ . . . ⊗ | x n − (cid:105) (10)Further note is required with respect to the usual summation conventions.For instance, let us suppose an information is encoded as the following n -qubitsuperposition: | ψ (cid:105) = (cid:88) x ∈{ , } n ψ ( x ) | x (cid:105) (11)This is the quantum superposition (aka quantum parallelism) of all the n ψ -entangled qubits from the basis Z ⊗ n , and the n respective strings in { , } n .By ψ -entangled we mean that the functional probability amplitude in the latterequation is not necessarily factored into individual bit-functions, say ψ ( x ) (cid:54) = ψ ( x ) ψ ( x ) . . . ψ n − ( x n − ) (12)In the spirit of the numerical meaning assigned to n -bit strings, we canrewrite equation (11) as follows | ψ (cid:105) = n − (cid:88) x =0 ψ ( x ) | x (cid:105) (13)The lowest-level representation for equation (11), and also for both equationsabove, is the following n -factor, tensor product of the ψ ( x , . . . , x n − ) -entangledqubits | ψ (cid:105) = n − (cid:79) j =0 (cid:20) (cid:88) x j =0 ψ ( x , . . . , x n − ) | x j (cid:105) (cid:21) (14)For the sake of curiosity, if the amplitude function ψ ( x ) were separable, namely ψ ( x ) = ψ ( x ) . . . ψ n − ( x n − ) = n − (cid:89) j =0 ψ j ( x j ) (15)we would have equation (14) a little bit more simplified: | ψ (cid:105) = n − (cid:79) j =0 (cid:20) ψ j (0) | (cid:105) + ψ j (1) | (cid:105) (cid:21) (16)9n synthesis, aside the linguistic meaning we are giving here to the DJ92 al-gorithm, the string x , or analagously the n -dimensional particle position vector,is interpreted as the eigenvalue of the observable ˆ x , whose eigenstate | x (cid:105) corre-sponds to the quantum encoded information denoted by the mentioned string,namely: ˆ x | x (cid:105) = x | x (cid:105) (17)Thus, the quantum observable ˆ x abstracts the measuring device which convertssome of the n states of a quantum register to a classical one.Before going to the heart of the matter, we shall first give a brief review onthe DJ92 algorithm, or more specific, to the problem that the authors proposedto test the quantum parallelism, reducing the classic time O (2 n ) down to aconstant quantum time O (1) .The DJ92 authors proposed an apparently naive problem whose brute-forceclassical solution is O (2 n ) , which was stated as follows. It is supposed a hiddenfunction f : { , } n (cid:55)→ { , } with the hint that the function is either constantor balanced in the domain { , } n with no other possibility. In these terms, howto decide in O (1) if the function is constant or, otherwise, balanced?From the previous paragraph, one should infer the properties of the occultlanguage by studying all quantum responses of the oracle, translated in the formof the spectral lines detected in the output measurement device, from which theuser infers the indicating function as constant or balanced.The Deutsch-Jozsa algorithm is detailed in the Algorithm 2, whose require-ments are that there exists a quantum computer as depicted in Figure 1, thatthe quantum oracle works as an indicator function, under the promise that thedecided language is such that its indicator function is either constant or bal-anced in the n -bit domain, and that the input quantum state is the prepared ( n + 1) -qubit state, | ψ (cid:105) ≡ | (cid:105) ⊗ n ⊗ | (cid:105) .The procedural part of the algorithm is performed in three steps. The firststep corresponds to quantum-parallel covering all the { , } n domain, through H ⊗ n | (cid:105) ⊗ n , times the two quantum parallel states coming out from the answerqubit, namely H | (cid:105) . Thus, the first stage corresponds to the ( n + 1) -qubitHadamard gate, namely H ⊗ ( n +1) = H ⊗ n ⊗ H , from which outcomes the com-bined state | ψ (cid:105) = 1 √ n +1 (cid:88) x ∈{ , } n (cid:0) | x (cid:105) ⊗ | (cid:105) − | x (cid:105) ⊗ | (cid:105) (cid:1) described as the Step 1 statement at Line 4 of the referred algorithm.The second stage corresponds to the application of the quantum oracle itself,described as the Step 2 at Line 5 of the Algorithm 2. According to equation (4),the outcome state | ψ (cid:105) from the second stage is given by | ψ (cid:105) = 1 √ n +1 (cid:88) x ∈{ , } n | x (cid:105) ⊗ (cid:18) | f ( x ) (cid:105) − | ⊕ f ( x ) (cid:105) (cid:19) lgorithm 2 The Deutsch-Jozsa algorithm
Require: the following ( n + 1) -qubit quantum transform | (cid:105) ⊗ n / n H ⊗ n U f H ⊗ n / n | ψ out (cid:105)| (cid:105) H H | (cid:105) a quantum oracle U f to decide a secret function f : { , } n (cid:55)→ { , } , whichis prior known to be either constant or balanced in { , } n ; a prepared pure state | ψ (cid:105) ≡ | (cid:105) ⊗ n ⊗ | (cid:105) . Ensure: the mixed state | ψ out (cid:105) ⊗ H | (cid:105) revealing the hidden function as con-stant or balanced. Step 1 : perform the quantum parallelism | ψ (cid:105) H ⊗ ( n +1) −−−−−→ | ψ (cid:105) Step 2 : transform the n +1 simultaneous states through the oracle gate | ψ (cid:105) U f −−→ | ψ (cid:105) Step 3 : apply H ⊗ n only to the upper n -qubits resulting from U f | ψ (cid:105) H ⊗ n ⊗ I −−−−−→ | ψ (cid:105) | ψ (cid:105) ≡ √ n (cid:88) x ∈{ , } n ( − f ( x ) | x (cid:105) ⊗ H | (cid:105) (18)The answer qubit leaves out the oracle as it has input, namely H | (cid:105) re-mains unchanged but it has participated on causing the useful interference thatproduced the factor √ n (cid:88) x ∈{ , } n ( − f ( x ) The third stage corresponds to the combined quantum gate H ⊗ n ⊗ I , where I is the identity quantum gate, which abstracts a solo wire in the quantum circuit.This stage is described as Step 3, at Line 6 of the algorithm, which transformsthe quantum state | ψ (cid:105) , in equation (18), into the result state | ψ (cid:105) , namely | ψ (cid:105) = H ⊗ n ⊗ I | ψ (cid:105) = 1 √ n (cid:88) x ∈{ , } n ( − f ( x ) H ⊗ n | x (cid:105) ⊗ H | (cid:105) Observing that H ⊗ n | x (cid:105) = 1 √ n (cid:88) z ∈{ , } n ( − x · z | z (cid:105) we finally have | ψ (cid:105) = | ψ out (cid:105) ⊗ H | (cid:105) where the n -qubit result is given by | ψ out (cid:105) = (cid:88) z ∈{ , } n ψ ( z ) | z (cid:105) (19)under the probability amplitudes ψ ( z ) = 12 n (cid:88) x ∈{ , } n ( − f ( x )+ x · z (20)The bitwise dot product used in the latter equation corresponds to theboolean inner product, defined as x · z = n − (cid:88) j =0 x j z j mod ≡ n − (cid:77) j =0 x j z j (21)Once the summation appearing in the exponent of the factor ( − in equa-tion (20), the latter interpretation can be omitted whenever convenient.The balanced function supposition requires a very large number Ω b of solu-tions throughout the { , } n space, which shall be proved as follows.Firstly we observe that the { , } n space is homomorphic to the n -bit numer-ical interval [0 , n − . To alleviate the notation, we do the following substitution12 = 2 n . One can easily conclude that any homomorphism h : { , } n (cid:55)→ { , } n on the domain { , } n of a balanced function f : { , } n (cid:55)→ { , } results inanother balanced function g = f ◦ h : { , } n (cid:55)→ { , } . Thus, h performsa shuffle on the domain { , } n . The number of different homomorphisms h : { , } n (cid:55)→ { , } n equals the number N ! of arrangements made on theoriginal sequence of points in the [0 , N − -range. If, for example, { X , X } isa binary partition that includes the points for which f = 0 , that is, f ( X ) = 0 ,and f ( X ) = 1 , respectively, one finds that the number ( N/ of internal ar-rangements in X , and also in X , do not change the value of the function, ie f ◦ h ( X ) = f ( h ( X )) = 0 , regardless the homomorphism h . In this case, one hasto discount the number of internal arrangements within the partition members X and X , respectively, to correctly account the number of different binarysolutions one has as output of the Algorithm 2, namely Ω b = N ![( N/ (22)which is easy to show that it is also O ( N !) , hence a huge number regarding thefact that N = 2 n .There exists a trivial situation in which the algorithm results in a solo state z = ≡ n . This is the case in which the function is constant. Accordingly tothe Deutsch-Jozsa problem statement, if z (cid:54) = , the only conclusion is that thefunction is balanced. However, in what situation does the algorithm generatebalanced results? Particularly, is there a kind of balanced languages whoseindicator functions allow monochromatic results? Say, is there a category ofbalanced functions for which equation (20) results in ψ ( z ) = (cid:40) , iff z = k , iff z (cid:54) = k (23)for a constant k ∈ { , } n ?Of course, k = is the case for f being constant. We answer this question inthe following sections, starting from the study of some peculiarities of balancedfunctions, which we presume here to be the indicator function for the categoryof Deutsch-Jozsa decidable languages, namely balanced and constant languages.
3. Balanced and constant languages
Let us suppose the category
L ⊆ { , } n of languages whose instances L n fitin one of the following cases:1. L n is either empty or saturated in { , } n , namely either L n = ∅ or L n = { , } n ;2. L n is any collection in { , } n which comprises half of the strings in { , } n ,namely | L | = |{ , } n | = 2 n − . 13hus, L satisfies the Item 1 above if and only if its characteristic function f : { , } n (cid:55)→ { , } is constant, namely f ( x ) = 1 , ∀ x ∈ { , } n iff L = { , } n f ( x ) = 0 , ∀ x ∈ { , } n if and only if L = ∅ .On the other hand, according to Item 2 above, L n is balanced: f ( x ) = 0 for asubset X ⊂ { , } n and f ( x ) = 1 for a subset X ⊂ { , } n , where { X , X } is anarbitrary balanced partition of { , } n , namely | X | = | X | = |{ , } n | = 2 n − .Of course, the following functional closures are immediate f ( X ) = 0 , f ( X ) = 1 .Obviously, L n = X and { , } n − L n = X .All of the previous paragraph can be summarized by the following metricconstraints: (cid:88) x ∈{ , } n f ( x ) = , if and only if | L | = 0 : L = ∅ ;2 n , if and only if | L | = 2 n : L = { , } n ;2 n − , if and only if | L | = 2 n − : L is half { , } n . (24)The task is then to determine if f is constant or balanced by using thequantum oracle U f of Figure 2, which identifies the kind of language the inputstrings belong to, according to the previous paragraph, satisfying some of theconditions summarized in equation (24).Before we define balanced and constant languages, let us explore a littlebit more some languages examples which satisfy the focused decision problemof balanced or constant indicator functions. To know, there exist languages L for which is always possible to find a positive integer n to define a layer L n = { x ∈ L | | x | = n } ⊆ L so that L n is constant for some n . Otherwise,there exists a minimum length m > for which all the positive integers n ≥ m sets up a balanced language L n .The universe Σ ∗ of strings is formally defined as the Kleene closure on therecursive concatenation of the alphabet Σ . To be more specific, it is given Σ ∗ aunique partition P (Σ ∗ ) = {{ ε } , Σ , Σ , . . . } for which any recursive language L has a sub-language L n ⊆ Σ n , for some nonnegative integer n , as illustrated inthe following example.Let us consider the language L n = { x ∈ Σ ∗ | | x | = n , ∀ n ∈ N } , whichcomprises the strings x whose lengths | x | are perfect squares, named perfectsquares language, regardless their alphabets. Of course, for each x ∈ L n , it isalways possible to find a perfect square integer m = n , n ∈ N , so that L n canbe partitioned as L = { ε } , L = Σ , L = Σ , . . . , or, equivalently: L = Σ ∪ Σ ∪ Σ ∪ . . . = ∞ (cid:91) n =0 Σ n (25)It is immediate that L is recursive since its complementary language can also beenumerated as the collection of all strings in Σ ∗ whose lengths are not perfectsquares, say Σ , Σ , Σ etc. The indicator function for the perfect squareslanguage is given as f ( x ) = (cid:40) , if and only if | x | = n , ∀ n ∈ N , otherwise (26)14e readily conclude that the indicator function for the perfect-squares lan-guage would be constant throughout the n -bit domain { , } n , accordingly tothe equation above. Namely, if the number n of qubits in the query bus werea perfect square, the indicator function would be constantly returning 1. Oth-erwise, if √ n were not an integer, the indicator function would be constantlyreturning 0. It is immediate that this language is some of the countless samplesof languages whose indicator function would be constant for a given n in theDJ92 apparatus. Trivially the n -bit domain itself fits the category of languageswhose indicator function would be f ( x ) = 1 , regardless the input string x . Wesimply label such a category of language as constant languages.Let us consider now a too simple example of balanced language. Consider thecollection of strings x ∈ { , } ∗ , where x can be partitioned as x = u v , where | uv | = n − , and both substrings, u and v , have constant lengths, namely, | u | = k , and | v | = n − k − , with ≤ k ≤ n − .Now we can say that we have a phenomenological basis to explain the reasonwhy the DJ92 algorithm is a quantum decider for a category of languages L ,which can be sliced into layers L n , comprising only length- n strings, which, inturn, can be either constant (namely, L n = ∅ or L n = Σ n ) or balanced (namely, | L n | = | Σ n | , for some m ∈ N such that n ≥ m ). Then, we introduce thefollowing definition: Definition 1 (Balanced and constant languages)
A language L ⊆ Σ ∗ issaid to be balanced, over the universe Σ ∗ , if and only if there exists a minimumnonnegative integer m such that, for each n ≥ m , the indicator function f :Σ n (cid:55)→ { , } is balanced over its domain Σ n . Of course, in order to have a balanced language it is necessary that the al-phabets Σ have even cardinality to comprise the balanced partition requirementgiven in the beginning of the present section, which will be discussed latter.Particularly, we are interested in the bit alphabet, say { , } , which is ofcourse isomorphic to any other binary alphabet as for example { a, b } . In thiscase, there exists a very peculiar category of balanced languages, which are theones defined as follows: Definition 2 (Binary periodic languages)
A language L n ⊆ { , } n is saidto be binary periodic, with period T = 2 m +1 , if and only if all its strings haveconstant bit at a constant bit address m in the generic string x = x n − . . . x m +1 c x m − . . . x where c is a constant in { , } at the bit address m . It follows immediately that the indicator function for a binary periodic lan-guage can be written as f ( x ) = f ( x n − . . . x m . . . x ) = c ⊕ x m (27)15here c is an arbitrary constant in { , } . Alternatively, observing that x m = x mod m +1 , the indicator function above can be rewritten as f ( x ) = f ( x n − . . . x m . . . x ) = c ⊕ ( x mod m +1 ) (28) Figure 3: Binary periodic indicator function for n = 4 and m = 0 The language whose indicator function is written as f ( x ) ≡ f ( x n − . . . x ) = 1 ⊕ x (29)corresponds to the simplest case of binary periodic function, whose period is T = 2 m +1 = 2 , since m = 0 , which is the address of the constant bit, x = 0 .This language is the collection of n -bit strings numerically interpreted as theset of even numbers, namely { , , . . . , n − , n − } . Figure 3 illustrates, the n = 4 -case. Figure 4: Binary periodic indicator function for n = 4 and m = 3 The example of the another extreme of the binary periodic function is illus-trated in Figure 4, where n = 4 and T = 2 m +1 = 16 , for m = 3 . This is thehighest period a digital signal can be sampled with bits.Exploring a bit further the binary periodic languages, one may find thatthe m = − exceptional case the indicator function (28) has no period, namely T = 2 m +1 = 1 , which no longer oscillates since the smallest period to sample adigital periodic signal is exactly T = 2 in the n -bit interval [0 , n − . In this16ase, the indicator function becomes a constant, f ( x ) = c , since every numberis dividable by 1: x mod . In order to realize how the quantum numbers z distribute according to equa-tion (20) we perform some computer simulations. The results were obtained byrandomly distributing the binary balanced partition { X , X } throughout the { , } n space. The summation in the right-hand-side of equation (20) is thencomputed by brute force once known the randomly balanced indicator function f . Then, the probabilities are computed from the results from equation (20),yielding | ψ ( z ) | against z . Figure 5: The indicator function for an arbitrary, unknown, balanced function for the -bit,non-periodic caseFigure 6: The probability distribution for the -bit, non-periodic case Figure 5 shows an arbitrarily balanced Monte Carlo-simulated function usingthe C erand48 function. The simulation reproduces a situation in which theDeutsch-Jozsa quantum computer operates with a total of 5 qubits. Namely,4 qubits to compose the query bus plus the response qubit. Assuming thata large number of executions of the algorithm were performed, we obtain in17 igure 7: The binary periodic function for n = 4 and T = 4( m = 1) Figure 8: The observed spectrum for the case illustrated in Figure 7
Figure 6 what would actually be observed of the quantum experiment, if thefunction exercised by the oracle was exactly that of Figure 5. Thus, the result ofa quantum computation is presented in the form of ensemble of results of eachindividual computation. It should be noted that the result displayed reproducesa spectrum of the z ’s allowed, where also, according to Figure 6, dark lines (theones of zero amplitude) occur.To illustrate what happens with the binary periodic case, it was performedthe classical experiment to reproduce the -qubit experiment similarly to thediscussed in the paragraph above, but using a T = 2 m +1 = 4 periodic function,where m = 1 . Figure 7 illustrates the periodic function. The correspondingobserved spectrum, also assuming that a large number of runs were performed,is shown in Figure 8. The reader has certainly noticed that the binary peri-odic function corresponds to a monochromatic spectrum, differently from thearbitrarily balanced case of the Figures 5 and 6.From the above paragraph, we have a certain: periodic binary functions re-veal monochromatic quantum computing spectra, outgoing the Deutsch-Jozsadevice. Nevertheless, the periodic binary spectrum is monochromatic for quan-tum numbers as z = 2 , , . . . , n − . This result reinforces the idea that there18xists the analogous to the linear combination of the orthogonal function, if wewrite the indicator function as the linear combination of binary periodic func-tions, replacing . Thus, the spectrum of binary periodic functions works like asorthogonal functions, as will be studied in further detail in the next subsection. The binary periodic languages are very important since they are the buildingblocks of the monochromatic languages studied in the next section. Firstly weshall notice that there exists the boolean analogous to the function vector space.In fact, for our purposes, the analogous to the linear combination of functionswe have for instance the ⊕ -combination between boolean functors f : { , } n (cid:55)→{ , } and g : { , } n (cid:55)→ { , } , in the form af ⊕ bg , to denote the boolean result ( af ⊕ bg )( x ) = af ( x ) ⊕ bg ( x ) , where a and b are boolean coefficients, a, b ∈ { , } .The product (not a concatenation) af ( x ) is equivalent to doing the bitwise- and operation. Moreover, there exists the analogous to the null vector, denoted bythe zero bit, 0, which is the resulting functor from the ⊕ operation of twoidentical functors, namely ≡ f ⊕ f : { , } n (cid:55)→ { , } | x ) = 0 , ∀ x ∈ { , } n .There exists a category of languages whose indicator functions are simple ⊕ -combinations in the F boolean space. Such a category will be defined inthe next subsection as the monochromatic languages. Analogously, we give thesame denomination to their indicator functions as follows: Definition 3
Let k ∈ { , } n a constant string, or equivalently an integer inthe [0 , n − -interval in accordance to equation (6). A boolean function f k issaid to be monochromatic in the domain { , } n if and only if it is expressed as aspectral decomposition in terms of binary periodic functions, { f , f , . . . , f n − } ,having as coefficients the bits { k , k , . . . , k n − } in the string k , namely f k ( x ) = k f ( x ) ⊕ k f ( x ) ⊕ . . . ⊕ k n − f n − ( x ) (30) Proposition 1
Equation (30) is equivalent to the following boolean dot product: f k ( x ) = k · f ( x ) (31) where the string transform function f : { , } n (cid:55)→ { , } n was defined as thefunctional string f ( x ) = f n − ( x ) f n − ( x ) . . . f ( x ) f ( x ) right concatenated by the binary-periodic orthogonal basis { f , f , . . . , f n − } One can prove that a monochromatic function is also balanced or constantin { , } n according to the following lemma: Lemma 2
A monochromatic function is either constant or balanced throughoutthe domain { , } n . roof. The proof is eased by inspecting equation (30). If k = , it is immediatethat k · x = 0 , and then constant. On the other hand, if k (cid:54) = , at least one ofthe k bits is nonzero. Let { j , . . . , j m } be the index set for which the k -bits arenonzero, namely k j = k j = . . . = k j m = 1 . In this case, k · x = m (cid:77) l =1 x j l (32)If m = 1 , one trivially finds that k · x is balanced. For m = 2 , one has x j ⊕ x j = 0 if and only if x j = x j . Otherwise, x j ⊕ x j = 1 if and only if x j (cid:54) = x j . Finally, assuming by induction hypothesis that the right-hand-sideof equation (32) is balanced for the first m indices { j , . . . , j m } , one easily findsthat x j m +1 ⊕ k · x = (cid:40) , iff x j m +1 = k · x , iff x j m +1 (cid:54) = k · x (33)Thus k · x is in fact balanced. (cid:4) It follows immediately from Lemma 2 that the modulo 2 summation of binaryperiodic functions is either balanced or constant:
Theorem 3
The modulo 2 summation of binary periodic functions is eitherconstant or balanced in { , } n . Proof.
Recalling the definition of the binary periodic function, all terms of themodule-2 summation fall into Lemma 2. Thus, it follows immediately that sucha summation of binary periodic functions, namely (cid:76) pj =1 x m j , with the indexset M = { m j , j = 1 , . . . , p ; 0 ≤ m j ≤ n − } , is equivalent to finding thebinary representation of a nonnegative integer k = k n − . . . k with all its bitsnull except the bits at position indices in M . Thus, the binary periodic functionsummation is equivalent to p (cid:77) j =1 x m j ≡ k · x which was already proved to be either constant or balanced in the previouslyreferred lemma (cid:4) The just proved theorem is fundamental on defining the category of con-stant and balanced languages named monochromatic languages , and how theDeutsch-Jozsa algorithm (Algorithm 2) responds on deciding such a category oflanguages.
4. Monochromatic languages
Straightforwardly, with basis with all of what was discussed in the previoussection, we define the very special category of Deutsch-Jozsa decidable lan-guages, named monochromatic languages:20 efinition 4
A language L ⊆ Σ ∗ is said to be monochromatic if and only ifeach of its layers L n ⊂ L comprising strings in Σ n is decided by the Deutsch-Jozsa algorithm revealing a solo n -bit solution z = k according to equation (30),namely ψ ( z ) = (cid:40) , iff z = k , iff z (cid:54) = k (34) Theorem 4
A language is monochromatic if and only if its indicator function f : { , } n (cid:55)→ { , } can be decomposed as f ( x ) = k · x ⊕ c (35) for an n -bit constant k Similarly to the classical simulations of the Deutsch-Jozsa quantum processin the previous section, we perform here some tests based on the latter theorem.Thus, we have programmed a more specific version of the C code of the previoussection to generate the monochromatic function given in equation (35), havingthe user defined parameters n and k .The program performs the bitwise dot product, assuming c = 0 and uses aninteger array f [2 n ] to map the monochromatic function defined in the latterlyreferred equation. Then, the program just replace the mapped values of f intothe exponent in the right-hand-side of equation (20) to fill up the floating pointarray ψ [2 n ] with the computed values.Summarily, the present test is checking out the prediction made of a monochro-matic function from equation (35), which is confirmed by the Deutsch-Jozsaderived equation (20). Figure 9: The monochromatic indicator function for the 4-qubit case and k = 14 Adopting n = 4 and k = 1110 ≡ we have the results shown in Figures 9and 10.For the sake of curiosity, we have tested the n = 6 qubits case, and randomlychoosing 4 bits in k to be set, and the remaining 2 bits reset. Figures 11 and12 illustrate the k = 011110 ≡ case.21 igure 10: The monochromatic probability distribution function for the case illustrated in theprevious figureFigure 11: The monochromatic indicator function for the 6-qubit case and k ≡ Figure 12: The monochromatic probability distribution function for the case illustrated in theprevious figure
The original idea of an indicator function is that it maps not only a set butalso their operations. For instance, let A and B be languages in { , } n . If22 ∈ A ∩ B , then both f A ( x ) = 1 and f B ( x ) = 1 if and only if A ∩ B (cid:54) = ∅ .Otherwise, at least one of f A ( x ) and f B ( x ) is no longer equal to 1. So, weconclude that f A ( x ) f B ( x ) = 0 , with x ∈ A ∩ B , if and only if A ∩ B = ∅ , andthe combined indicator function for the set intersection is given as f A ∩ B ( x ) = f A f B ( x ) . Of course, if x ∈ A ∪ B , the combined indicator function to the setunion is computed as f A ∪ B ( x ) = max { f A ( x ) , f B ( x ) } .Where does all in the paragraph above fit in the monochromatic languageconcept? If we redefine the monochromatic language by reinterpreting equa-tion (35). The ⊕ operator is also interpreted as the bitwise xor . The logicalmeaning of f A ( x ) ⊕ f B ( x ) is that of the indicator function for the exclusive unionof A and B , namely the indicator function for A ∪ B − A ∩ B . Thus, if A and B arebinary periodic languages, then the exclusive union of them yields a monochro-matic language, according to Definition 4. In this case, L = A ∪ B − A ∩ B isa two-component monochromatic language, with its indicator function given as f = f A ⊕ f B .Let us now consider the family B n comprising all the binary periodic lan-guages until the string length n , including the constant case B = { x ∈ { , } n | x = 1 } We are neglecting the particular cases appearing in Definition 2 with no lossin generality. Thus, the family referred in the paragraph above is composed ofbinary periodic languages B j = { x ∈ { , } n | x j = 1 } for each j = 0 , , . . . , n − , and the family of binary periodic languages can bewritten as L = { B , . . . , B n − } .Let us, additionally, choose some of the languages in B n by means of theindex set I = { j , j , . . . , j m } ⊆ { , , . . . , n − } . Now we define an arbitrarilychosen family of binary periodic languages, indexed by the set I , namely L = { X l ∈ B n | l ∈ I} . Finally, we can redefine the monochromatic language M n asthe following collection M n = (cid:91) X ∈L X − (cid:92) Y ∈L Y
5. Discussion and conclusion
The present work has concentrated in a particular class of languages whoseindicator functions are balanced and allow the Deutsch-Jozsa algorithm to re-spond with a monochromatic spectrum. This is the reason why we have namedsuch a category of languages as monochromatic languages.We have pointed out that the full potentiality of the Deutsch-Jozsa quan-tum algorithm, even regarding the case of balanced languages, is expressed inequation (22), which is O ( N !) , where N = 2 n . The very particular case studiedhere, but expressively more clarifying in the sense that there exist languageswhich are not only decided by a balanced indicator function but also reveals23onochromatic results. The number of monochromatic languages in the n -qubit representation is n − N − O ( N ) , which is negligible if comparedto the complexity O ( N !) of the universe of balanced languages.We have also proved that there is a subclass of monochromatic languages,namely binary periodic languages, which are the category of languages whosebit strings have one of their bits that is constant (0 or 1) at a constant posi-tion (index) in the string. The indicator functions of binary periodic languagesconstitute a spectrum of orthogonal functions, which are the atoms of monochro-matic functions. Opportunely, we conclude that monochromatic language is alsoconstructed from a spectrum of binary periodic languages. Acknowledgments
The author is especially grateful to Geysa de Oliveira Marinho for her carefulreading and for providing useful suggestions on the writing style of the currentversion of the manuscript.All quantum circuits presented throughout the previous sections were de-signed using the macros provided by the Qcircuit package.This manuscript was prepared with the Elsevier’s LaTeX package.
References
Aaronson, S., 2005. Guest Column: NP-complete problems and physical reality.SIGACT News 36, 30–52. doi: .Aho, A.V., Sethi, R., Ullman, J.D., 1988. Compilers. Principles, Techniques,and Tools. 2nd ed., Addison-Wesley Publishing Company, Reading, Mas-sachusetts, Menlo Park, California.Cleve, R., Ekert, A., Macchiavello, C., Mosca, M., 1998. Quantum algorithmsrevisited. Proceedings of the Royal Society of London A: Mathematical, Phys-ical and Engineering Sciences 454, 339–354. doi: .Deutsch, D., 1985. Quantum theory, the church–turing principle and the uni-versal quantum computer. Proceedings of the Royal Society of London A:Mathematical, Physical and Engineering Sciences 400, 97–117. doi: .Deutsch, D., Jozsa, R., 1992. Rapid solution of problems by quantum computa-tion. Proceedings of the Royal Society of London A: Mathematical, Physicaland Engineering Sciences 439, 553–558. doi: .Garey, M.R., Johnson, D.S., 2000. Computers and Intractability. A Guide tothe Theory of NP-Completeness. 22 ed., W. H. Freeman and Company, 41Madison Avenue, New York, NY, 10010.24rover, L., 1996. A fast quantum mechanical algorithm for database search,in: Proceedings, 28th Annual ACM Symposium on the Theory of Computing(STOC), pp. 212–219.Hopcroft, J.E., Ullman, J.D., 1979. Introduction to Automata Theory, Lan-guages and Computation. Addison-Wesley.Kelley, D., 1995. Automata and Formal Languages: An Introduction. Prentice-Hall, Inc., Upper Saddle River, NJ, USA.Linden, N., Popescu, S., 1998. The halting problem for quantum computers.eprint arXiv:quant-ph/9806054 arXiv:quant-ph/9806054 .Shor, P., 1994. Polynomial-time algorithms for prime factorization and dis-crete logarithms on a quantum computer, in: Proceedings of the 35th AnnualSymposium on Foundations of Computer Science, Santa Fe, NM. pp. 20–22.Shor, P., 1996. Polynomial-time algorithms for prime factorization and discretelogarithms on a quantum computer. arXiv:quant-ph/9508027v2 , 28ppURL: https://arxiv.org/abs/quant-ph/9508027v2 .Sipser, M., 1996. Introduction to the Theory of Computation. 1st ed., Interna-tional Thomson Publishing.Song, D., 2008. Unsolvability of the halting problem in quantum dynamics.International Journal of Theoretical Physics 47, 1785–1791. doi:10.1007/s10773-007-9621-x