case class QuantumSimulator()(implicit random: Random = new Random) extends QuantumContext with Product with Serializable
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- QuantumSimulator
- Serializable
- Serializable
- Product
- Equals
- QuantumContext
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
Instance Constructors
- new QuantumSimulator()(implicit random: Random = new Random)
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
def
controlMatrix(gate: Control): Matrix
Generates a matrix based on the top-level control gate and nested control and target child gates.
Generates a matrix based on the top-level control gate and nested control and target child gates.
First, it generates an array of arrays. Each array is a binary representation of the decimal state vector index. For example, a vector of length 2 can be represented with the following matrix:
Array( Array(0, 0), Array(0, 1), Array(1, 0), Array(1, 1) )
Second, for each top-level array we check if control bits are triggered and if they are then we apply the final target gate to the target qubits.
- gate
control gate that this method generates a matrix for
- returns
final matrix representing the control gate acting on all involved qubits
- Definition Classes
- QuantumSimulator → QuantumContext
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- val gateGenerators: Map[String, GateGen]
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isUnitary(g: Gate): Boolean
- Definition Classes
- QuantumSimulator → QuantumContext
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def opToGate(op: Op, qubitCount: Int): Seq[Gate]
-
def
par(g1: Gate, g2: Gate): Matrix
- Definition Classes
- QuantumSimulator → QuantumContext
- def prepareGate(gate: Gate, qubitCount: Int): Gate
- def registerToSuperposition(register: QubitRegister): SimSuperposition
-
def
run(circuit: Circuit): State
- Definition Classes
- QuantumSimulator → QuantumContext
-
def
runAndMeasure(circuit: Circuit): Collapsed
- Definition Classes
- QuantumContext
-
def
swapMatrix(gate: QubitSwap): Matrix
- Definition Classes
- QuantumSimulator → QuantumContext
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
targetMatrix(targetGate: Target): Matrix
- Definition Classes
- QuantumSimulator → QuantumContext
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )