タグ付けされた質問 「programming」

量子コンピューターで実行されるコードの記述に関する質問。特定のプログラミング言語の使用に関する質問については、より具体的なタグの使用も検討してください。

5
量子コンピューターで利用できるプログラミング言語は何ですか?
この質問から、私は主要な量子コンピューティングプログラミング言語がQ#とQISKitであることを収集しました。 量子コンピューターのプログラミングに使用できる他のプログラミング言語は何ですか?特定のものを選択することには特定の利点がありますか? 編集:エミュレーターではなく、プログラミング言語を探しています。エミュレータは物事をシミュレートします。プログラミング言語は、命令を記述する方法です(実際のオブジェクト用またはエミュレーター用)。複数のエミュレーターで機能する単一の言語がある場合もあれば、その逆の場合もあります。


3
D-Waveデバイス用の簡単なプログラムをどのように作成しますか?
D-Waveデバイスのジョブがコードで記述され、デバイスに送信される方法を知りたいです。 答えでは、単純な問題についてこの特定の例を見るのが最善でしょう。D-Waveデバイスの「Hello World」は、単純な2D Isingモデルの基底状態を見つけるようなものだと思います。これは、ハードウェアによって直接実現される一種の問題だからです。おそらくこれは良い例です。しかし、専門知識のある人が別の例にふさわしければ、私は喜んで代替案を見つけます。


4
量子コンピューターは、多くの人が見たり使ったりしたことのない50年代および60年代のアナログコンピューターの単なる変種ですか?
最近の質問「量子コンピューティングはただのパイです」では、量子機能の改善に関する多くの回答がありますが、すべては現在の「デジタル」コンピューティングの世界観に焦点を当てています。 古いアナログコンピューターは、長年にわたってデジタルコンピューティングに適していない動作モードに適合する多くの複雑な問題をシミュレートし、計算することができました(そして、一部はまだ「困難」です)。戦争(〜I&II)の前は、すべてが機械的なトルコ人の頭脳による「時計仕掛け」と見なされていました。同じ「すべて」のデジタルバンドワゴントラップに陥り、繰り返し発生します(「アナログ」に関連するタグはありません)。 量子現象のアナログコンピューティングへのマッピング、およびそのアナロジーからの学習でどのような作業が行われましたか?それとも、獣をどのようにプログラムするかについての本当の考えを持っていない人々の問題です。

3
オープンな量子ソフトウェアプロジェクトの完全なリストは存在しますか?
回答は 集計の量子物理システムをシミュレートするためのアルゴリズムを計算する任意のソースはありますか?量子アルゴリズムのリストであるQuantum Algorithm Zooに言及しています。非物理専攻の量子コンピューターのプログラミングに対するいくつかの回答には、さまざまな種類の開発キットへのリンクが含まれています。同様に、量子コンピューターで利用できるプログラミング言語は何ですか?それらをリストするためのいくつかの良い試みを集めます。 現在の質問は上記に関連していますが、上記のリソースでは回答されていません。 オープンな量子ソフトウェアプロジェクトの完全なリストは存在しますか? 理想的な答えは次のとおりです。存在する場合は、そのリストへのリンク、存在しない場合は、オープンな量子ソフトウェアプロジェクトの(完全にフォーマットされた)可能な限りのコンパイル。 関連質問:量子ソフトウェアのスタートアップはありますか?

3
非常に単純な量子プログラムはどのように見えるでしょうか?
「最初のプログラム可能な量子フォトニックチップ」を読んだ後。量子エンタングルメントを使用するコンピューター用のソフトウェアはどうなるのかと思っていました。 特定の量子プログラミング用のコードの例はありますか?擬似コードや高級言語が好きですか?具体的には、ベル状態の作成に使用できる最短のプログラムは何に初期化状態からシミュレーションとIBMのの1両方使用して量子体験など、プロセッサをibmqx4?|ψ⟩=12–√(|00⟩+|11⟩)|ψ⟩=12(|00⟩+|11⟩)\left|\psi\right> = \frac{1}{\sqrt 2} \left(\left|00\right> + \left|11\right> \right)|ψ0⟩=|00⟩|ψ0⟩=|00⟩\left|\psi_0\right> = \left|00\right> 従来のプログラミングからエンタングルメントへの概念的なジャンプをすることはそれほど簡単ではありません。 Cのlibquantumも見つけました。

2
量子回路の自動コンパイル
ここ最近の問題は、単純な1量子ビットと2量子ビットゲートに4量子ビットゲートCCCZ(制御制御の制御-Z)をコンパイルする方法を尋ね、そしてこれまでに与えられた唯一の答えは、63のゲートを必要とします! 最初のステップは、Nielsen&Chuang が提供したC n U構造を使用することでした。nn^n n=3n=3n=3この手段4つのCCNOTゲートと3つのシンプルゲート(1 CNOT及び2 Hadamardsターゲットキュービット及び最後の作業キュビットに最終CZを行うのに十分です)。 この論文の定理1は、一般にCCNOTには9個の1キュービットと6個の2キュービットゲート(合計15)が必要であると述べています。 これの意味は: (4 CCNOT)x(CCNOTごとに15ゲート)+(1 CNOT)+(2アダマール)= 合計63ゲート。 コメント、63のゲートはその後さらに理論から、たとえば、「自動処理」を使用してコンパイルすることができることが示唆されている自動グループ。 この「自動コンパイル」はどのように行うことができ、この場合1キュービットと2キュービットのゲートの数をどれだけ減らすことができますか?


2
「純粋なCSの背景」から始まり、「新しい量子プログラミング言語の作成」に進む学習ガイドはありますか?
私はコンピュータサイエンスの出身ですが、量子コンピューティングの学習中に注力すべきリソースを決定するのは難しいと感じています。私の最終的な目標は、Cが作られた1972年と同様に、量子コンピューターと人との間のインターフェースとして機能するプログラミング言語を作ることです。現実的な中間段階として、IBMのQISKitでプログラムを作成するポイントに到達したいと思います。 そのために、物理学と量子コンピューティングの分野に飛び込むために必要な関連分野の必要な背景を得るために、概略的な学習ガイドが必要になります。これはすでに存在しますか:必要な概念と習得する能力の順序付けされたリスト、可能な場合はそれぞれを取得するための適切な資料についても言及していますか? 高校レベルの物理学の知識を想定しています。初心者から専門家まで、学習ガイドを提供します。量子コンピューティングの分野の専門家になるために、時系列に従ってビデオ/ブックのリソースをリストアップして、自分で量子コンピューティング言語を記述できるレベルにしてください(言語を書く他のCSスキルがすでにあると想定) 。

2
複素係数を使用したハミルトニアンシミュレーション
変分アルゴリズムの一部として、次の形式のハミルトニアンをシミュレートする量子回路(理想的にはpyQuilを使用)を構築したいと思います。 H= 0.3 ⋅ Z3Z4+ 0.12 ⋅ Z1Z3+ [ 。。。] + - 11.03 ⋅ Z3- 10.92 ⋅ Z4+ 0.12 I ⋅ Z1Y5バツ4H=0.3⋅Z3Z4+0.12⋅Z1Z3+[...]+−11.03⋅Z3−10.92⋅Z4+0.12i⋅Z1Y5X4H = 0.3 \cdot Z_3Z_4 + 0.12\cdot Z_1Z_3 + [...] + - 11.03 \cdot Z_3 - 10.92 \cdot Z_4 + \mathbf{0.12i \cdot Z_1 Y_5 X_4} 最後の言葉になると、問題はpyQuilが次のエラーをスローすることです。 TypeError: PauliTerm coefficient …

3
量子ソフトウェアのスタートアップはありますか?
私は量子ハードウェアのスタートアップRigettiを知っていて、現在の量子コンピューターハードウェアの上にソフトウェアを商用アプリケーション向けに構築する量子スタートアップがあるのだろうか? 関連質問:オープンな量子ソフトウェアプロジェクトの完全なリストは存在しますか?

2
QISKitの単一量子プログラムで複数の量子回路を構成する
各回路のレジスタをで再初期化せずに、複数の量子回路でプログラムを構成する方法があるかどうか疑問に思っていました。000 具体的には、次の例のように、最初の量子回路を実行した後に2番目の量子回路を実行したいと思います。 qp = QuantumProgram() qr = qp.create_quantum_register('qr',2) cr = qp.create_classical_register('cr',2) qc1 = qp.create_circuit('B1',[qr],[cr]) qc1.x(qr) qc1.measure(qr[0], cr[0]) qc1.measure(qr[1], cr[1]) qc2 = qp.create_circuit('B2', [qr], [cr]) qc2.x(qr) qc2.measure(qr[0], cr[0]) qc2.measure(qr[1], cr[1]) #qp.add_circuit('B1', qc1) #qp.add_circuit('B2', qc2) pprint(qp.get_qasms()) result = qp.execute() print(result.get_counts('B1')) print(result.get_counts('B2')) 残念ながら、私が取得することのすなわちA数(二つの実験のために同じ結果である11ためB1とB2の代わりに、11と00あるかのように、第二のためB2に初期化され、完全に新しい状態で実行され00た後B1。

3
言語のデモに役立つサンプル量子アルゴリズム
さまざまな量子言語の構文を示すために使用できる量子アルゴリズムを探しています。私の質問はこれに似ていますが、私にとって「良い」とは次のことを意味します。 それが何をするかは1〜2段落で説明でき、理解しやすいはずです。 「量子プログラミング世界」のより多くの要素を使用する必要があります(つまり、アルゴリズムは、いくつかの古典的な定数、測定、条件、qレジスタ、演算子などをできるだけ多く使用する必要があることを意味します)。 アルゴリズムは小さくなければなりません(長くても15から25の疑似コード行)。 多くの場合、有用なアルゴリズムは長すぎる/難しいですが、Deutschのアルゴリズムはそれほど多くの要素を使用していません。誰かが私にデモに適したアルゴリズムを提案できますか?

1
Pythonを使用しないIBMデバイスへのジョブの送信
Qiskitは、Python(またはSwiftおよびJavaScript)を使用してIBMデバイスにジョブを送信するために使用できます。しかし、別の言語を使用したい場合はどうなりますか? たとえば、実行したい特定の回路があるとします。これをPython Qiskitですでに作成し、対応するqasm文字列または(理想的には)完全なqobjオブジェクトを生成したとします。 これを実行して、選択した任意の言語で結果を取得できるようにしたいと考えています。 私が理解している限り、これらはHTMLを介してこれを行う方法です。Qiskitで生成された情報をJSONに変換して、Web経由で送信できます。これは、ProjectQがIBMデバイスにジョブを送信する方法です(ただし、Pythonで送信されます)。 ProjectQコードのリバースエンジニアリングは少し難しいので、この機能を使用するための簡単なガイドが欲しいのですが。特にPython以外の言語では。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.