





'''simple docstring'''

import qiskit







def    a__							(							lowercase   :	int,   lowercase   :	int )						->						qiskit.result.counts.Counts:





     """simple docstring"""

     _UpperCamelCase							       =			qiskit.Aer.get_backend('''aer_simulator''' )

     _UpperCamelCase							       =			qiskit.QuantumCircuit(4,   2 )
     # encode inputs in qubits 0 and 1
     if bita == 1:
          qc_ha.x(0 )
     if bita == 1:
          qc_ha.x(1 )
     qc_ha.barrier()

     # use cnots to write XOR of the inputs on qubit2
     qc_ha.cx(0,   2 )
     qc_ha.cx(1,   2 )

     # use ccx / toffoli gate to write AND of the inputs on qubit3
     qc_ha.ccx(0,   1,   3 )
     qc_ha.barrier()

     # extract outputs
     qc_ha.measure(2,   0 )  # extract XOR value
     qc_ha.measure(3,   1 )  # extract AND value

     # Execute the circuit on the qasm simulator
     _UpperCamelCase							       =			qiskit.execute(lowercase,   lowercase,   shots=1000 )

     # Return the histogram data of the results of the experiment
     return job.result().get_counts(lowercase )


if __name__ == "__main__":
   lowercase__		:     Dict			=							half_adder(1, 1)
   print(F"""Half Adder Output Qubit Counts: {counts}""")






from typing import Any

import numpy as np





def 	__a     (      A__			:  np.ndarray       ):
    return np.array_equal(A__			,  matrix.conjugate().T       )





def 	__a     (      A__			:  np.ndarray			,  A__			:  np.ndarray       ):
    SCREAMING_SNAKE_CASE										=   v.conjugate().T
    SCREAMING_SNAKE_CASE										=   v_star.dot(A__       )
    assert isinstance(A__			,  np.ndarray       )
    return (v_star_dot.dot(A__       )) / (v_star.dot(A__       ))





def 	__a     (      ):
    SCREAMING_SNAKE_CASE										=   np.array([[2, 2 + 1j, 4], [2 - 1j, 3, 1j], [4, -1j, 1]]       )
    SCREAMING_SNAKE_CASE										=   np.array([[1], [2], [3]]       )
    assert is_hermitian(A__       ), F"{a} is not hermitian."
    print(rayleigh_quotient(A__			,  A__       )       )

    SCREAMING_SNAKE_CASE										=   np.array([[1, 2, 4], [2, 3, -1], [4, -1, 1]]       )
    assert is_hermitian(A__       ), F"{a} is not hermitian."
    assert rayleigh_quotient(A__			,  A__       ) == float(3       )


if __name__ == "__main__":
    import doctest

    doctest.testmod()
    tests()