量子コンピータ開発環境(Quantum Development Kit)でのMicrosoft.Quantum.Simulation.Common


1.まえがき

 Microsoft量子コンピータ開発環境(Quantum Development Kit)を利用して量子コンピータプログラミングを検証しています。
 その中のMicrosoft.Quantum.Simulation.Commonについて記します。

2.Microsoft.Quantum.Simulation.Common

 public interface IQubitManager
  ファンクション
  Allocate(long count) 戻り値:Microsoft.Quantum.Simulation.Core.QArray
  Borrow(long count) 戻り値:Microsoft.Quantum.Simulation.Core.QArray
  GetAllocatedQubitsCount() 戻り値:long
  GetFreeQubitsCount() 戻り値:long
  GetQubitsAvailableToBorrowCount() 戻り値:long
  IsFree(Microsoft.Quantum.Simulation.Core.Qubit qubit) 戻り値:bool
  IsValid(Microsoft.Quantum.Simulation.Core.Qubit qubit) 戻り値:bool
  OnOperationEnd(Microsoft.Quantum.Simulation.Core.QArray returnedQubits)
  OnOperationStart(string name, Microsoft.Quantum.Simulation.Core.QArray qubitsInArgument)
  Release(Microsoft.Quantum.Simulation.Core.QArray qubits)
  Return(Microsoft.Quantum.Simulation.Core.QArray qubits)
 public class QubitManager
  コンストラクター
  public QubitManager(long qubitCapacity, [bool mayExtendCapacity = False], [bool disableBorrowing = False])
  ファンクション
  public virtual Allocate() 戻り値:Microsoft.Quantum.Simulation.Core.Qubit
  public virtual Allocate(long numToAllocate) 戻り値:Microsoft.Quantum.Simulation.Core.QArray
  public virtual AllocateOneQubit(bool usedOnlyForBorrowing) 戻り値:Microsoft.Quantum.Simulation.Core.Qubit
  public virtual Borrow(long numToBorrow, System.Collections.Generic.IEnumerable excludedQubitsSortedById) 戻り値:Microsoft.Quantum.Simulation.Core.QArray
  public virtual BorrowOneQubit(long id) 戻り値:Microsoft.Quantum.Simulation.Core.Qubit
  public virtual BorrowUnsorted(long numToBorrow, System.Collections.Generic.IEnumerable excludedQubits) 戻り値:Microsoft.Quantum.Simulation.Core.QArray
  public virtual CreateQubitObject(long id) 戻り値:Microsoft.Quantum.Simulation.Core.Qubit
  public GetAllocatedQubitsCount() 戻り値:long
  public GetFreeQubitsCount() 戻り値:long
  public virtual GetQubitsAvailableToBorrowCount() 戻り値:long
  public GetQubitsAvailableToBorrowCount(System.Collections.Generic.IEnumerable excludedQubitsSortedById) 戻り値:long
  public IsFree(Microsoft.Quantum.Simulation.Core.Qubit qubit) 戻り値:bool
  public IsValid(Microsoft.Quantum.Simulation.Core.Qubit qubit) 戻り値:bool
  public virtual Release(Microsoft.Quantum.Simulation.Core.QArray qubitsToRelease)
  public virtual Release(Microsoft.Quantum.Simulation.Core.Qubit qubit)
  protected virtual ReleaseOneQubit(Microsoft.Quantum.Simulation.Core.Qubit qubit, bool usedOnlyForBorrowing)
  public virtual Return(Microsoft.Quantum.Simulation.Core.QArray qubitsToReturn)
  public virtual Return(Microsoft.Quantum.Simulation.Core.Qubit qubit)
  protected virtual ReturnOneQubit(Microsoft.Quantum.Simulation.Core.Qubit qubit)
 public class QubitManagerTrackingScope : Microsoft.Quantum.Simulation.Common.QubitManager
  コンストラクター
  public QubitManagerTrackingScope(long cubitCapacity, [bool mayExtendCapacity = False], [bool disableBorrowing = False])
  ファンクション
  protected override AllocateOneQubit(bool usedOnlyForBorrowing) 戻り値:Microsoft.Quantum.Simulation.Core.Qubit
  public Borrow(long numToBorrow) 戻り値:Microsoft.Quantum.Simulation.Core.QArray
  protected override BorrowOneQubit(long id) 戻り値:Microsoft.Quantum.Simulation.Core.Qubit
  public override GetQubitsAvailableToBorrowCount() 戻り値:long
  public OnOperationEnd(Microsoft.Quantum.Simulation.Core.QArray returnedQubits)
  public OnOperationStart(string name, Microsoft.Quantum.Simulation.Core.QArray qubitsInArgument)
  protected override ReleaseOneQubit(Microsoft.Quantum.Simulation.Core.Qubit qubit, bool usedOnlyForBorrowing)
  protected override ReturnOneQubit(Microsoft.Quantum.Simulation.Core.Qubit qubit)
 public class QubitManagerTrackingScope.StackFrame
  コンストラクター
  public StackFrame()
  public StackFrame(Microsoft.Quantum.Simulation.Core.QArray qubits)

3.その他

   本解釈はRVMXでの解釈で、間違いが含まれているかもしれません。
   現在、編集中です。

4.関連リンク

   -1.量子コンピータへのRVMXの取り組みと展望について
   -2.RVMXでの量子コンピーュータの原理について
   -3.Microsoft.Quantumよりの参照クラス

(有)RVMX