Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Chris Granade
    @cgranade
    No worries, @amirebrahimi. Happy to help. Thanks to @crazy4pi314 and the rest of the qsharp.community team for creating and maintaining this space to discuss Q#!
    Mridul Sarkar
    @mridulsar
    Hey all, I was wondering if something like ApplyToEach can be used on a BE or LE. I could not find anything in the docs. I could be misguided in understanding that ApplyToEach cannot be applied to BE or LE registers.
    Also, how can I make ApplyToEach look pretty, ie @cgranade did so earlier
    i guess my larger question is, a data type of 'T[] (= or != ) LE/BE
    Chris Granade
    @cgranade
    @mridulsar: From the perspective of the Q# type system, a value of type LittleEndian is a single atomic value. If you have an array of little-endian registers (that is, LittleEndian[]), then ApplyToEach works great over that array. On the other hand, if you want to apply an operation to each qubit making up a single LittleEndian register, you can unwrap it with the unwrap operator (!) to get an array of type Qubit[].
    @crazy4pi314, do you recall the page reference in the book where we explain that? Also, @mridulsar, you may want to check out this part of the docs: https://docs.microsoft.com/en-us/quantum/user-guide/language/expressions#unwrap-expressions
    Mridul Sarkar
    @mridulsar
    Thank you Chris, I see the hole in my knowledge is understanding how LittleEndian is encoded and for what practical applications this can be used. I am understanding LE/BE encoding takes a singular integer by its binary values, the order of the values respective to the type of Endian encoding. I tried doing a google search for quantum BE papers but could not come up with anything nice to read. If you had suggestions on papers I could read to understand this topic I would greatly appreciate it.
    Chris Granade
    @cgranade
    @mridulsar No worries, happy to help.
    Mridul Sarkar
    @mridulsar
    So I am understanding that I can take a register of qubits initialized as some q=Qubit(N} under an apply{} and if I decide to apply LittleEndian(q) and then q! I end up where I started?
    Chris Granade
    @cgranade
    It comes down to that little-endian and big-endian are just different ways of mapping non-negative integers to strings of bits; as applied to quantum computing, that means different ways of mapping computational basis states of the form |๐‘›โŸฉ (that is, labeled by integers) to computational basis states of the form |๐‘โ‚€๐‘โ‚โ€ฆ๐‘โ‚–โ‚‹โ‚โŸฉ (that is, labeled by bit strings). The LittleEndian UDT marks that a register of qubits should be interpreted where ๐‘โ‚€ is the least-significant (little end) bit in the expansion of ๐‘›. From that perspective, a big-endian paper can be converted to a little-endian one by reversing the convention used to order qubits.
    Sarah Kasier
    @crazy4pi314
    Mridul Sarkar
    @mridulsar
    Ok that makes sense, thank you Chris. Sarah, that was an extremely helpful picture
    Chris Granade
    @cgranade
    I'm glad!
    Sarah Kasier
    @crazy4pi314
    ๐Ÿ’–
    Sagar Mishra
    @achieveordie

    Hi there! I've got another difficulty in understanding a part of the topic of Circuit-Centric-Classifiers

    Here's the excerpt from the paper that I am having difficulty understanding

    I don't even know where to begin reasoning the paragraph, can someone help me in justifying how this is the case?

    Chris Granade
    @cgranade
    @achieveordie Happy to try and help! The basic idea is that Hilbert space (in this context, the vector space of all quantum states) is unbelievably large, but that doesn't really reflect the reality that almost all states correspond to state preparation programs that are exponentially long to run.
    So if you look only at those states reachable by programs parameterized by a small set of angles, that's a very small subset of all possible states.
    the Roman Mercury
    @theRomanMercury

    Hello,

    I am measuring in bell basis . I apply H and CNOT gate.
    I measured several times and this outputs I got:

    Measured CNOT ยท H |00? and observed (Zero, Zero)
    Measured CNOT ยท H |00? and observed (Zero, Zero)
    Measured CNOT ยท H |00? and observed (Zero, Zero)
    Measured CNOT ยท H |00? and observed (One, One)
    Measured CNOT ยท H |00? and observed (Zero, Zero)
    Measured CNOT ยท H |00? and observed (One, One)
    Measured CNOT ยท H |00? and observed (One, One)
    Measured CNOT ยท H |00? and observed (Zero, Zero)

    I did not get (One , Zero ) output . If input (One,One), I think output should be (One,Zero) and if input ( Zero, One ) output should be ( Zero,One) .

    Why I do not get this outputs ?

    Sarah Kasier
    @crazy4pi314
    There are 4 different bell states you can prepare, some are matching parity (One, One)/(Zero, Zero) and some are opposite as you described. It just depends on which of the bell states you prepare
    the Roman Mercury
    @theRomanMercury
    Thnx, I will try it
    Sagar Mishra
    @achieveordie

    @cgranade Please correct me wherever I am wrong. 1) Can't we have those cases where we don't really need to map our data into a higher dimension, i.e. we can prepare our state in a euclidean space without needing to apply any tensor product to prepare them? (This assumes that the data is simple enough that we don't really require any further mapping)

    2) If the above statement is true, how is having our dataset in a limited space a bad thing? Why are we treating State Preparation step as if it is at this point that we are training our model? Isn't this analogous to zero initialization of weights in classical Machine Learning? We start at the same limited value (zero) and then learn the appropriate weights and biases.

    3) If I am completely off-track here, could you please tell me some resources to get started in this part of the subject? I think that this is certainly getting too much for me.

    Sarah Kasier
    @crazy4pi314
    Can you add some more context to your question? It's not super clear what you are trying to do ๐Ÿ˜
    Chris Granade
    @cgranade

    i.e. we can prepare our state in a euclidean space without needing to apply any tensor product to prepare them

    The state of a quantum system is always a vector in Hilbert space rather than Euclidian space, but that's largely a mathematical artifact of how we describe, model, and simulate quantum systems. In particular, just like with the kernel trick in traditional ML, we never write down those vectors in Hilbert space but prepare them implicitly.

    Sarah Kasier
    @crazy4pi314
    Other general question for folks here, do you use discord? Would a Q# community discord make it easier to interact/chat than this single thread?
    Sagar Mishra
    @achieveordie
    @cgranade thank-you, is it alright for you if I contact you via your e-mail that you've provided here? @crazy4pi314 I used discord back when it wasn't very popular in '16. I don't really use it anymore though. I look forward to it if you decide on making it though
    Harshit Garg
    @githg22_gitlab
    Please use slack. It makes everything simpler.
    :-)
    Sarah Kasier
    @crazy4pi314
    @achieveordie The example of what I have seen for making discord really work for tech communities is the Python one: https://pythondiscord.com/
    @githg22_gitlab I regularly use both slack and discord but it seems to me that discord is really keeping up with demand and adding features that basically make it a strictly nicer slack. Slack is also not bad though, I initially set this up because I didn't want people to have to create a new account to chat (assuming they had a GitHub account). I know this single thread is kinda limiting, so I am open to what would work best for the folks here
    Harshit Garg
    @githg22_gitlab
    The best thing about slack is you can create a thread for any message.
    It really comes useful in this kind of huge projects
    Just my 2 cents
    I'll check out the python discord channel though
    Mridul Sarkar
    @mridulsar
    is there a way to 'transpose' a gate in q#? i noticed there was a discussion above as to how gates in Q# are not recognized as a matrix bur rather an operation. Would love some insight as to what sort of approach is taken when observing a circuit
    specifically in Q# because in the posts above mentioned how the approach taken in Q# is different from qiskit
    2 replies
    Sarah Kasier
    @crazy4pi314
    Apparently you can do threading here too, but its not super obvious
    Sarah Kasier
    @crazy4pi314
    How was everyone's weekend? I can't believe it's already Tuesday ๐Ÿ˜ญ
    the Roman Mercury
    @theRomanMercury
    I am reading Microsoft Quantum Documentation again
    I think I missed the broadcast today
    Amir Ebrahimi
    @amirebrahimi

    Other general question for folks here, do you use discord? Would a Q# community discord make it easier to interact/chat than this single thread?

    Coming to this late, but I would prefer Slack or Discord (in that order) if you are considering alternatives.

    ShaunJW360
    @ShaunJW360
    Slack or Discord good either way ๐Ÿ™
    Sarah Kasier
    @crazy4pi314

    Sweet, I'll get something moving soon for the chat platform stuff!

    In the meantime verson 0.12 is out of the QDK, I wrote up some thought/context on the release notes here: https://twitter.com/crazy4pi314/status/1280174137973981201?s=20

    Amir Ebrahimi
    @amirebrahimi
    Congrats on the release!
    Sarah Kasier
    @crazy4pi314
    @/all Q# Community update!
    We now have a slack setup, check out the badge on the homepage to join! https://qsharp.community/
    We will continue to make use of the gitter for more transient questions/ convos but after polling at least the active folks here, there was interest in a Slack so I got that up and going!
    Sarah Kasier
    @crazy4pi314
    the Roman Mercury
    @theRomanMercury
    Hello, what do you think about Randonautica ( ฤฑt is an app, uses QNRG )
    1 reply
    ?
    Sarah Kasier
    @crazy4pi314
    If there are any folks dropping by from the Azure Quantum Developer Workshop, we tend to answer quick questions here on the gitter, and if you want to work on some of our projects/learn/collaborate hop on over to our slack here: bit.ly/qsharp-slack !
    the Roman Mercury
    @theRomanMercury
    using (register = Qubit[8])