Questions tagged [q#]

Q# is a domain-specific programming language used to express quantum algorithms. This tag should be used for questions related to creating/programming quantum algorithms using the 'Q#' language. If the question is not related to, or arising from some quantum aspect of Q#, it might be better to ask on StackOverflow. If appropriate, also use the [programming] tag.

Filter by
Sorted by
Tagged with
8
votes
2answers
133 views

Can we perform quantum mechanical simulations using a quantum computer?

I'm a computer science major who's really keen on physics and quantum mechanics. I have started learning about Q# and D-Wave, but I just wanted to know if it's possible to test quantum mechanical ...
7
votes
2answers
159 views

How to construct the “Inversion About the Mean” operator?

It seems like it should be simple, based on how Nielsen and Chuang talk about it, but I cannot seem to correctly implement the Inversion About the Mean operator ($2|\psi\rangle \langle\psi| - \mathcal{...
7
votes
3answers
339 views

How do you send an array of qubits to an operation in Q#?

I have the following operation in my .qs files: operation myOp(qubits: Qubit[]) : () { // uses elements from the qubit array } How do I send an ...
7
votes
2answers
185 views

From Q# measurements to Bloch sphere

I would like to represent the state of a qubit on a Bloch sphere from the measurements made with Q#. According the documentation, it is possible to measure a qubit in the different Pauli bases (...
6
votes
1answer
377 views

How many logical qubits are needed to run Shor's algorithm efficiently on large integers ($n > 2^{1024}$)?

First, I know there are differences in logical qubits and physical qubits. It takes more physical qubits for each logical qubit due to quantum error. Wikipedia states that it takes quantum gates of ...
6
votes
2answers
98 views

How does one obtain amplitude information in Q#?

Is it possible to obtain amplitude information (in lexicographic ordering) for a particular qubit register in Q#? For example, in the following code: ...
5
votes
1answer
114 views

Q# factorization Method Program

Is there a method to calculate prime factorization in Q# of Visual Studio of Microsoft Quantum Development Kit? In the Python language, it is the sympy.factorint ...
5
votes
2answers
165 views

Quantum counting in Q#

I cannot seem to get an estimate for the number of solutions using the quantum counting algorithm described in Nielsen and Chuang, i.e. phase estimation with the Grover iteration acting as $U$. I try ...
5
votes
2answers
235 views

Checking value of variable using quantum approach

A beginner question after watching few videos. Say, var=a; var can be either of two values, ...
4
votes
2answers
84 views

How do I produce circuit diagrams from a Q# program?

If I implement an adder operation in Q#, I'd like to see a quantum circuit diagram of what that adder is doing in order to check that it looks right. Is there a built-in way to do this?
4
votes
2answers
101 views

Does Q# have a bigint type?

Shor's algorithm works with very large integers; larger than 64 bits. So the built-in 64-bit Int type is insufficient for doing the classical processing (e.g. ...
4
votes
1answer
146 views

How do I write functions that modify operations in Q#?

In Q#'s type documentation, it is mentioned that you can create signatures like this: ...
4
votes
1answer
36 views

How to see the QASM code corresponding to compiled Q# function?

I'm learning Q#. Is there any way to see the QASM code of a Q# function I write, the same way I can see the disassembly of a C# function?
4
votes
2answers
178 views

Finding the maximum number of Q# simulatable qubits

I'm new to Q# and I was curious on how one would find the number of Q# simulatable qubits for a specific machine. I know Microsoft has an approximation of 16GB ~ 30 qubits but I wanted a better ...
3
votes
2answers
461 views

How to compute the inverse of an operation in Q#?

I want to implement amplitude amplification using Q#. I have the operation $A$ that prepares my initial state and I need to compute $ A^{-1} $ to implement the algorithm. Is there an easy way to do ...
3
votes
1answer
75 views

How do I get a list of control qubits from Q# operations when tracing the simulation in C#?

I want to write code that prints out the controls of each operation executed during a simulation in Q#. For example this code prints the control counts: ...
3
votes
1answer
70 views

How do I name the adjoint of an operation in Q#?

For example, if I've defined the operation PlusEqual, I'd like to say operation MinusEqual = Adjoint PlusEqual; but this ...
3
votes
1answer
90 views

Counting in Q#: number of solutions

I have this program derived from Microsoft Quantum Katas for counting (see here): ...
3
votes
1answer
231 views

Creating controlled R1 gates in Q#?

I know how to create controlled versions of gates like X, Y, Z. For example, a controlled X gate would be implemented by writing (Controlled X)([control],target); ...
2
votes
1answer
59 views

How do I multiply an integer and a double in Q#?

If I write this: function f(n: Int) : Double { return 1.5*n; } I get an error: ...
2
votes
1answer
51 views

How do I do printf debugging in Q# in a convenient way?

When initially writing an operator in Q#, I often want to see intermediate values of registers during the computation. This allows me to check that I haven't made ...
2
votes
1answer
23 views

Hamming with prefix oracle

I'm doing the Q# quantum katas and I'm stuck on an oracle in the Deutsch-Josza algorithm katas. Let $|x\rangle=|x_0x_1\dots x_{n-1}\rangle$ be a qubit array and $r$ be bit string of $k\leq n$. The $...
2
votes
1answer
102 views

An algorithm with the Hadamard operator

My goal in writing this algorithm in Q# was that func would either output (1,2) or (10,20), ...
2
votes
1answer
577 views

Practical example of Grover's algorithm (in Q#)

Is there any real example for Grover's algorithm but with real database (generated from SQL or file)? I download the Q# development kit & its example, there was one call DatabaseSearchExample ...
2
votes
1answer
52 views

Type error creating R gate in Q#?

The R operation in Q# is listed by Microsoft in the documentation as follows operation R (pauli : Pauli, theta : Double, qubit : Qubit) : Unit However, when I try ...
2
votes
1answer
58 views

Programmatic access to wavefunction in Q# for tests

I'm trying to write unit tests for some small Q# operations. It would be ideal if I could access the wavefunction. Is there a way to get it? I found ...
1
vote
2answers
94 views

Is programming in quantum computer same as programming in quantum simulator in classical computer?

I just started programming in Q# and I wonder if the coding for Q# in classical computer would be the same as coding in a quantum computer. Obviously, these 2 kinds of computers work differently, so I ...
1
vote
1answer
139 views

How to add two integers in Q#?

I have programmed in C++, but I am interested in writing quantum programs. I have some experience with Microsoft's Q#, and I know about the canonical Shor's and Grover's algorithms. Can anyone tell ...
1
vote
1answer
267 views

How to measure in an arbitrary basis in Q#?

Q# has a measurement operator defined as follows according to the docs: operation Measure (bases : Pauli[], qubits : Qubit[]) : Result Where you give a Pauli gate ...
1
vote
1answer
35 views

How does ControlledOnInt in Qsharp make it's Grovers Oracle?

I have an example with 6 qubits for names and 6 for telephones. I encoded their relation like this: ...
1
vote
1answer
67 views

Q# How to use a namespace in another project?

I have some utility operations that I'd like to use across projects. How can I import its namespace using Q# in Visual Studio 2017 in other projects?
0
votes
0answers
39 views

Is it possible to change the oracle in Grover's search to ponderate probabilities in multiple values search?

If I want to to search 2 values with Grover's algorithm, it outputs the same probability for both that is bigger that the no searched states that have the same lower percent. If I use an oracle ...
0
votes
2answers
26 views

Converting a Qubits state to a binary value in Q#

In Q#, How do I store a Qubits state in a binary-based disk / hard drive for use by regular digital programs? Is this even possible?