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
0
votes
0answers
16 views

How to retrieve the parameters of a Q# operation?

I have a program that detects the methods and their corresponding parameters types of the classes in a namespace. Following is the C# class I have written: ...
1
vote
1answer
47 views

Controlled NOT gate using multiple control qubits in Q#

I am trying to implement the Grover's search algorithm using Q# and I am not able to implement the oracle (black box) part for the search of state $|1010\rangle$. How to implement the controlled NOT ...
1
vote
0answers
60 views

IBM qiskit vs Microsoft QDK [closed]

I am new to both IBM Qiskit and Microsoft QDK. I wish to understand which framework would be best suited for someone new to this field. I am lookig for the pros and cons of both frameworks.
0
votes
2answers
89 views

Problems with Q# installing

I don't know if this is the right place to ask this question. I just thought it would be a place where people knew what they are doing. If there is a better place to look for answers (stackoverflow ...
0
votes
0answers
50 views

Q# code for making any two qubits entangled

Suppose there are two different qubits and both with different superposition states. What is the Q# code for making these two qubits entangled?
0
votes
0answers
48 views

How to reduce the length of Q# programs execution time?

In the released Q# documentation by Microsoft available at: Quantum Development Kit Full State Simulator, it is written By default OpenMP uses all available hardware threads, which means that ...
2
votes
2answers
85 views

Is it possible to create a Q# operation with optional parameters?

In C# it is possible to have: public void Fun (int n = 0){ // ... } then the following method call examples will be compiled: ...
3
votes
1answer
98 views

How to invoke a C# method inside a Q# operation?

Suppose there is a Q# operation as follows: operation Op () : Bool { let result = CSharpMethod (); return result } where ...
2
votes
2answers
80 views

Are there any testing framework for quantum programs?

Has any testing framework been introduced to verify and also validate the quantum programs? I know Q# supports creating unit tests for quantum programs (within xUnit framework) but I do not know about ...
4
votes
1answer
76 views

What is the corresponding code for finding the state of a qubit on the Bloch sphere?

To find the state of a qubit on the Bloch sphere we use the following formula: \begin{equation} |\psi\rangle=\mathrm{cos}\frac{\theta}{2}|0\rangle+\mathrm{e}^{i\phi}\mathrm{sin}\frac{\theta}{2}|1\...
2
votes
1answer
66 views

Is it possible to write a Q# teleportation code which returns a qubit?

In the teleportation codes I have found so far from Microsoft, the codes are written based on returning the bool values but I wonder if in teleportation process, ...
3
votes
1answer
38 views

How can I transform a Result into a Bool in Q# + C# environment?

I'm writing a Q# program and I'm calling an operation defined in the program that outputs a Result (One or ...
1
vote
1answer
56 views

How to create a q# operation to generate a random number from 1 to max?

I have the following problem: I want to create a q# operation for generating a random integer from 1 to max and return the generated number. What algorithm do I need? What does the q# code look like? ...
1
vote
1answer
36 views

Where is OpenQasmReader in Q#?

OpenQasmReader was added in https://github.com/microsoft/Quantum/pull/58. I can't find this code on the latest clone of the aforementioned repository. Going through the commits, I found that it had ...
1
vote
1answer
42 views

Unable to recognise little-endian format

I'm told that the input register is in little-endian format. But the vscode gives me error telling me that it is wrong argument for QFT even after using a suitable converter. Am I missing something ...
1
vote
1answer
40 views

ResetAll with adjoint auto

...
2
votes
3answers
170 views

How do I start as a quantum computing programmer?

How do I learn Q#? What languages should I know prior to learning Q#? How do I get started with quantum computing?
3
votes
2answers
190 views

Big Endian vs. Little Endian in Qiskit

I've noticed that Q# favors Little Endian. Meaning that most operations are designed for this type of encoding. Is is it the same with Qiskit?
9
votes
1answer
160 views

Ground state energy estimation - VQE vs. Ising vs. Trotter–Suzuki

Disclaimer: I am a software engineer who is curious about quantum computing. Although I understand some basic concepts, theory and math behind it, I am by no means experienced in this domain. I am ...
1
vote
3answers
491 views

Cirq, qiskit, q#, ibmq(circuit board), other [closed]

Which platform is the best for programming quantum computers? Which one is your personal favourite? If other mention which one it is and if possible few resources for it.
0
votes
3answers
63 views

How to add scalar to quantum string

I need a way to add scalar values to a quantum string. Say if $| v \rangle = |1 1 0 \rangle + |1 0 1 \rangle$ then $|v \rangle + 5 = |1 0 1 1 \rangle + |1 1 0 0\rangle$ Is there a known method to ...
2
votes
1answer
58 views

How do these alternative Q# algorithms produce the same set of Bell states?

In the "Superposition" Microsoft quantum katas (https://github.com/microsoft/QuantumKatas/blob/master/Superposition/ReferenceImplementation.qs) the solution for Task 7 looks like this: ...
0
votes
1answer
36 views

Q#: dynamically assigning (or updating) multidimensional Qubit arrays

Question: how to dynamically assign qubits to variables? e.g., say I want to represent a matrix of qubits: $matrix := \{\vec{v_1}, \vec{v_2}, ..., \vec{v_r}\}$ where each vector consists of $dim$ ...
1
vote
2answers
90 views

Q#: How to setup a project correctly (on Linux, command line)?

When setting up projects with Q# I used to start with the given Quick-Starting Guide. Following the tutorial I am able to setup the example problem and the program works well. However, there seems to ...
-1
votes
1answer
39 views

How to make a time rotation in Qsharp like in Quirk spinning gates?

Qsharp have Rx Ry and Rz gates for rotation, but I need to apply a gate that leaves the Qbuit rotating continuosly like in Quirk spinning gates. https://algassert.com/quirk#circuit=%7B%22cols%22%3A%5B%...
2
votes
1answer
47 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 $...
1
vote
2answers
89 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 ...
1
vote
1answer
82 views

How does ControlledOnInt in Q# make it Grovers Oracle?

I have an example with 6 qubits for names and 6 for telephones. I encoded their relation like this: ...
3
votes
2answers
509 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 ...
1
vote
2answers
78 views

Converting a qubit's 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?
4
votes
1answer
84 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?
3
votes
1answer
141 views

Counting in Q#: number of solutions

I have this program derived from Microsoft Quantum Katas for counting (see here): ...
3
votes
1answer
58 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
2answers
112 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 ...
3
votes
1answer
314 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); ...
3
votes
1answer
62 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 ...
3
votes
1answer
85 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: ...
4
votes
2answers
137 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. ...
2
votes
1answer
73 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: ...
4
votes
1answer
85 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 ...
4
votes
1answer
184 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: ...
2
votes
1answer
66 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 ...
4
votes
2answers
105 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?
6
votes
1answer
771 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 ...
2
votes
1answer
119 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), ...
6
votes
2answers
232 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 ...
3
votes
1answer
753 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 ...
1
vote
1answer
351 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?
7
votes
2answers
290 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{...
2
votes
1answer
153 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 ...