Cove.Base defines all of the interfaces that implementations need to provide. Users of code should "code to" these interfaces after instances of objects have been created.

C# | Visual Basic | Visual C++ |
namespace Cove.Base
Namespace Cove.Base
namespace Cove.Base

All Types | Classes | Interfaces | Enumerations |
Icon | Type | Description |
---|---|---|
![]() | BoolConversionOptions |
Defines various conversion options for converting classical
results to a boolean.
|
![]() | ClassicalResult |
The result of a measurement from quantum computation.
|
![]() | CoveException |
The base class for all exceptions in Cove
|
![]() | DuplicateIndexesException |
Thrown if duplicate indexes are specified as a parameter.
|
![]() | ICoveObject |
Base class for all classes in Cove
|
![]() | ImplementationException |
This exception is thrown when the implementation is incomplete or
reaches an unexpected state. Ideally this exception should never
occur. This is different than QuantumHardwareException,
which is the base class for any hardware problems. This class
is for problems with the implementation.
|
![]() | IOperationCNot |
Interface for the CNot (controlled Not) operation. Direct implementations of this interface
should be named OperationCNot.
|
![]() | IOperationControlledU |
Interface for the controlled-U operation. The controlled U operation tests a
control qubit, and if true applies the single qubit operation U to all other
(target) qubits. Direct implementations of this interface should be named OperationControlledU.
|
![]() | IOperationFredkin |
Interface for the Fredkin operation, which is a controlled swap. Direct
implementations of this interface should be named OperationFredkin.
|
![]() | IOperationHadamard |
Interface for all classes that perform the Hadamard operation. Direct
implementations of this interface should be named OperationHadamard.
|
![]() | IOperationIdentity |
Interface for performing the identity operation. Direct implementations of this interface
should be named OperationIdentity.
|
![]() | IOperationIdentityN |
The identity operation for n qubits. The identity operation is essentially a
no operation (noop) since it does not change the state of the qubit(s). Direct
implementations of this interface should be named OperationIdentityN.
|
![]() | IOperationNot |
Interface for performing the Not operation (X gate). Direct implementations of this
interface should be named OperationNot.
|
![]() | IOperationPhaseShift |
Interface for all operations to perform arbitrary phase shifts. Direct implementations
of this interface should be named OperationPhaseShift.
|
![]() | IOperationQuantumFourierTransform |
Interface for the
|
![]() | IOperationReset |
This operation collapses a qubit to 0. This is not a reversible operation.
|
![]() | IOperationRotateK |
Interface for the Rotation by K, a more general S or T gate. Used in
the quantum Fourier transform as the target of a control operation
|
![]() | IOperationRotateX |
Interface for all operations that perform arbitrary rotations about the X axis. Direct
implementations of this interface should be named OperationRotateX.
|
![]() | IOperationRotateY |
Interface for all operations that perform arbitrary rotations about the Y axis. Direct
implementations of this interface should be named OperationRotateY.
|
![]() | IOperationRotateZ |
Interface for all operations that perform arbitrary rotations about the Z axis. Direct
implementations of this interface should be named OperationRotateZ.
|
![]() | IOperationSGate |
Interface for performing the S Gate (phase gate). Direct implementations of this interface
should be named OperationSGate.
|
![]() | IOperationSwap |
Interface for the swap operation. Direct implementations of this interface should
be named OperationSwap.
|
![]() | IOperationTGate |
Interface for performing the T gate operation (pi / 8 phase gate). Direct implementations
of this interface should be named OperationTGate.
|
![]() | IOperationToffoli |
Interface for the Toffoli operation, which is a double controlled not or
controlled controlled not. Direct implementations of this interface should
be named OperationToffoli.
|
![]() | IOperationYGate |
Interface for performing the Y gate operation. Direct implementations of this interface
should be named OperationYGate.
|
![]() | IOperationZGate |
Interface for performing the Z gate operation. Direct implementations of this interface
should be named OperationZGate.
|
![]() | IQuantumAlgorithms |
This interface provides common quantum algorithms that should
be implemented. These common algorithms let users utilize the
framework for specific quantum tasks without being concerned
with the details of how the algorithms work. Direct implementations of
this interface should be named QuantumAlgorithms.
|
![]() | IQuantumOperation |
The interface for operations applied to qubits. This is meant to serve as a
base interface, and there are no direct implementations.
|
![]() | IQuantumRegister |
This interface defines the behavior for quantum registers, which are collections
of qubits. Direct implementations of this interface should be named QuantumRegister.
|
![]() | IQubit |
Interface definition of a qubit. Direct implementations of this interface should be
named Qubit.
|
![]() | IQubitOperation |
The interface that all operations on qubits must implement. This is a base
interface and there should not be direct implementations.
|
![]() | NotUnitaryOperationException |
If a user creates an operation that is not unitary, then throw this
exception since all quantum operators must be unitary.
|
![]() | QuantumHardwareException |
This is the base class for any exception caused by the quantum hardware.
This exception is different from ImplementationException, which is the base
class for exceptions due to incorrect or incomplete implementations and not
hardware problems.
|
![]() | SizeMismatchException |
This exception occurs when there is a size mismatch between a quantum
operation and register it is being applied to.
|
![]() | Utilities |
Contains various utility functions for Cove that are not specific
to a particular implementation.
|