H Gate

Hadamard gate

Attribute
State
data-size="xs" height: 1rem; width: 1rem;
data-size="sm" height: 1.5rem; width: 1.5rem;
data-size="base" height: 2rem; width: 2rem;
data-size="lg" height: 2.5rem; width: 2.5rem;
data-size="xl" height: 3rem; width: 3rem;
data-disabled Disabled
data-wire-top Connedted with lower bit gate
data-wire-bottom Connected with upper bit gate
data-wire-top-disabled Connected with lower bit gate (disabled)
data-wire-bottom-disabled Connected with upper bit gate (disabled)

Sizes

Control the size of a Hadamard gate using the data-size attribute.

<h-gate data-size="xs"></h-gate>
<h-gate data-size="sm"></h-gate>
<h-gate data-size="base"></h-gate>
<h-gate data-size="lg"></h-gate>
<h-gate data-size="xl"></h-gate>

Disabled Gate

To display the disabled Hadamard gate, set the data-disabled attribute.

<h-gate data-disabled></h-gate>

Connecting with Other Gates

To connect the Hadamard gate to the quantum gate of the lower bit, set the data-wire-top attribute. Similarly, set data-wire-bottom for the upper bits.

<h-gate data-wire-top></h-gate>
<h-gate data-wire-bottom></h-gate>
<h-gate data-wire-top data-wire-bottom></h-gate>
<h-gate data-wire-top-disabled></h-gate>
<h-gate data-wire-bottom-disabled></h-gate>
<h-gate data-wire-top-disabled data-wire-bottom-disabled></h-gate>

To show disabled connections, use the data-wire-top-disabled and data-wire-bottom-disabled attributes.

<h-gate data-wire-top-disabled></h-gate>
<h-gate data-wire-bottom-disabled></h-gate>
<h-gate data-wire-top-disabled data-wire-bottom-disabled></h-gate>
<h-gate data-wire-top-disabled data-disabled></h-gate>
<h-gate data-wire-bottom-disabled data-disabled></h-gate>
<h-gate data-wire-top-disabled data-wire-bottom-disabled data-disabled></h-gate>

IF directive

To apply a H gate conditionally, specify a data-if attribute; the condition (variable name) specified in the if directive can be set in the Measurement gate.

<h-gate data-if="h"></h-gate>

If the gate is connected to another gates, the position of the if label will be adjusted automatically.

User Help Popup

As a user help, you can display the description and usage of the Hadamard gate as a popup. The popup will show on the mouse hover event. The content to be displayed can be specified in the <h-gate> tag as follows:

Hadamard Gate

Creates simple superpositions.

<h-gate>
  <header>
    <h1>Hadamard Gate</h1>
    <p>Creates simple superpositions.</p>
  </header>

  <div class="mt-4 flex flex-row items-center space-x-1">
    <circle-notation></circle-notation>
    <div class="flex flex-row items-center">
      <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="#E5E5E5">
        <path fill-rule="evenodd" d="M3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z" clip-rule="evenodd" />
      </svg>
      <h-gate data-size="sm"></h-gate>
      <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="#E5E5E5">
        <path fill-rule="evenodd" d="M12.293 5.293a1 1 0 011.414 0l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-2.293-2.293a1 1 0 010-1.414z" clip-rule="evenodd" />
      </svg>
    </div>
    <circle-notation data-magnitudes="0.7,0.7"></circle-notation>
  </div>

  <div class="mt-4 mb-2 flex flex-row items-center space-x-1">
    <circle-notation data-magnitudes="0,1"></circle-notation>
    <div class="flex flex-row items-center">
      <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="#E5E5E5">
        <path fill-rule="evenodd" d="M3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z" clip-rule="evenodd" />
      </svg>
      <h-gate data-size="sm"></h-gate>
      <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="#E5E5E5">
        <path fill-rule="evenodd" d="M12.293 5.293a1 1 0 011.414 0l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-2.293-2.293a1 1 0 010-1.414z" clip-rule="evenodd" />
      </svg>
    </div>
    <circle-notation data-magnitudes="0.7,0.7" data-phases="0,180"></circle-notation>
  </div>
</h-gate>

Drag and Drop

To make the Hadamard gate drag-and-droppable, specify the data-drag-and-drop attribute.

<h-gate data-drag-and-drop><h-gate>