Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
projects:quantum:distributed [2024/12/05 14:48] – kymki | projects:quantum:distributed [2024/12/06 16:05] (current) – kymki | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | {{ :wiki:distributed_quantum_computing:qcqc.png? | + | < |
+ | < | ||
+ | <meta charset=" | ||
+ | <meta name=" | ||
+ | < | ||
+ | < | ||
+ | /* Container for the entire Ramble Meter */ | ||
+ | .ramble-meter-container | ||
+ | display: flex; | ||
+ | align-items: center; | ||
+ | justify-content: center; | ||
+ | margin: 20px 0; | ||
+ | | ||
- | Massive investments are being made in the European landscape of quantum computing. The question is what frameworks that enable orchestration of calculations | + | /* Ramble Meter */ |
+ | | ||
+ | position: relative; | ||
+ | width: 200px; /* Scaled down */ | ||
+ | height: 40px; /* Scaled down */ | ||
+ | background: linear-gradient(to right, green, yellow, orange, red); | ||
+ | border-radius: | ||
+ | overflow: hidden; | ||
+ | box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); | ||
+ | } | ||
- | ==== Problem statement ==== | + | /* Needle */ |
+ | .needle { | ||
+ | position: absolute; | ||
+ | top: 5px; /* Adjust for centering */ | ||
+ | left: 50%; /* Default position */ | ||
+ | width: 4px; /* Visible width */ | ||
+ | height: 30px; | ||
+ | background: black; | ||
+ | border-radius: | ||
+ | z-index: 2; | ||
+ | box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); /* Glow effect */ | ||
+ | } | ||
- | As a researcher and innovator | + | /* Label in the middle |
- | < | + | |
- | < | + | position: absolute; |
- | < | + | top: 50%; |
- | < | + | left: 50%; |
- | < | + | |
- | </ | + | |
- | < | + | font-size: 12px; /* Adjusted for smaller size */ |
+ | | ||
+ | color: #fff; | ||
+ | text-shadow: | ||
+ | | ||
+ | } | ||
- | print(hello) | + | /* Tooltip styling */ |
+ | .tooltip { | ||
+ | visibility: hidden; | ||
+ | width: 250px; | ||
+ | background-color: | ||
+ | color: #fff; | ||
+ | text-align: center; | ||
+ | padding: 10px; | ||
+ | border-radius: | ||
+ | position: absolute; | ||
+ | top: 50%; /* Vertically aligned */ | ||
+ | left: 110%; /* Position to the right of the meter */ | ||
+ | transform: translateY(-50%); | ||
+ | font-size: 12px; | ||
+ | z-index: 10; | ||
+ | box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); | ||
+ | } | ||
+ | /* Show tooltip on hover */ | ||
+ | .ramble-meter: | ||
+ | visibility: visible; | ||
+ | } | ||
+ | |||
+ | /* Wrapper for positioning the tooltip and meter */ | ||
+ | .ramble-wrapper { | ||
+ | position: relative; | ||
+ | display: flex; | ||
+ | align-items: | ||
+ | } | ||
+ | </ | ||
+ | < | ||
+ | document.addEventListener(" | ||
+ | const needle = document.querySelector(" | ||
+ | const rambleMeter = document.querySelector(" | ||
+ | const level = rambleMeter.getAttribute(" | ||
+ | needle.style.left = `${Math.min(Math.max(level, | ||
+ | }); | ||
+ | </ | ||
+ | </ | ||
+ | < | ||
+ | <!-- Ramble Meter --> | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | </ | ||
+ | <div class=" | ||
+ | </ | ||
+ | </ | ||
</ | </ | ||
</ | </ | ||
+ | {{ : | ||
+ | Massive investments are being made in the European landscape of quantum computing. The question is what frameworks that enable orchestration of calculations to only deploy the most optimal problem formulation on the most suitable piece of hardware. | ||
+ | ==== Problem statement ==== | ||
+ | |||
+ | As a researcher and innovator in the quantum life-science area, I want to be able to develop or test an algorithm locally on my laptop and iteratively expand on it in terms of parameters, noise models used, systems analysed etc. I want to define a grid of parameters, something like: | ||
hyperparam_grid = [ | hyperparam_grid = [ | ||
Line 62: | Line 152: | ||
Create and append noise_spec (function: apply_noise_model, | Create and append noise_spec (function: apply_noise_model, | ||
- | Workflow | + | Which yields a workflow |
" | " | ||
Line 268: | Line 359: | ||
</ | </ | ||
< | < | ||
+ | < | ||
def build_workflow(): | def build_workflow(): | ||
step_name = " | step_name = " | ||
Line 363: | Line 454: | ||
print(f" | print(f" | ||
+ | </ | ||
</ | </ | ||
</ | </ | ||
Line 377: | Line 468: | ||
</ | </ | ||
< | < | ||
+ | < | ||
def generate_one_electron_integrals_spec(nodename): | def generate_one_electron_integrals_spec(nodename): | ||
one_electron_uuid = str(uuid.uuid4()) | one_electron_uuid = str(uuid.uuid4()) | ||
Line 389: | Line 480: | ||
) | ) | ||
) | ) | ||
+ | </ | ||
</ | </ | ||
Line 403: | Line 494: | ||
</ | </ | ||
< | < | ||
+ | < | ||
from quantum_workflow.hamiltonian import ( | from quantum_workflow.hamiltonian import ( | ||
calculate_one_electron_integrals, | calculate_one_electron_integrals, | ||
Line 491: | Line 582: | ||
| | ||
etc.. | etc.. | ||
+ | </ | ||
</ | </ | ||
</ | </ | ||
Line 505: | Line 596: | ||
</ | </ | ||
< | < | ||
+ | < | ||
from pyscf import gto, scf, ao2mo | from pyscf import gto, scf, ao2mo | ||
Line 550: | Line 641: | ||
raise e | raise e | ||
return uuid | return uuid | ||
+ | </ | ||
</ | </ | ||
</ | </ |