
Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Information about problem set 5 for the cpsc 489/689 quantum algorithms course taught by andreas klappenecker. The assignment is due on march 4, 2003, and students are required to demonstrate their program between 2pm–5pm to neelima chinthamani in hrbb 509a. Instructions on how to replace certain functions, package the program using the gnu build system, and rename specific output files. Hints are also provided for renaming the outputs of flex and yacc. The document mentions the alfred language and its specification of gate conditions and their corresponding bit masks.
Typology: Assignments
1 / 1
This page cannot be seen from the preview
Don't miss anything!

Problem Set 5 CPSC 489/689 Quantum Algorithms Andreas Klappenecker
The assignment is due Wednesday, Mar 4, 2003. Demonstrate your program between 2pm–5pm to Neelima Chinthamani in HRBB 509A
Replace the two functions applygate and measure state with sensible code, completing the simulator alfred.
Package the program with the GNU build system. Write configure.in and Makefile.am, and package the program such that it is possible to obtain an executable by invoking configure and make.
Hints: The GNU automake manual is somewhat misleading in the re-naming conventions of the lex and yacc outputs.
The file Makefile.am can contain as little as four lines, specifying the program, the sources, the libraries, and the options for yacc (alfred YFLAGS = -d). You do not need to specify any dependencies!
Make sure that your program will compile if we delete the output of lex and yacc (or flex and bison), before invoking make. The alfred language specifies the gate
by G([3,-1,-2],0,[0,1,1,0]), where the most significant qubit at position 3 is a 1-condition, and the 0-conditions of the qubits at position 1 and 2 are specified by −1 and −2. The lexer will translate these conditions into the following bit masks
ocnd = 0110 2 = 6, icnd = 1000 2 = 8, gpos = 0001 2 = 1.