case class QuantumSimulator()(implicit random: Random = new Random) extends QuantumContext with Product with Serializable
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- QuantumSimulator
- 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
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- 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[_ <: AnyRef]
- 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 productElementNames: Iterator[String]
- Definition Classes
- Product
- 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(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()