diff --git a/.internal/pre_commit_tools/clean_timeouts.py b/.internal/pre_commit_tools/clean_timeouts.py deleted file mode 100755 index d36d4a5c0..000000000 --- a/.internal/pre_commit_tools/clean_timeouts.py +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/env python3 - -import subprocess -import sys -from collections import Counter -from pathlib import Path - -import yaml - -PROJECT_ROOT = Path(subprocess.getoutput("git rev-parse --show-toplevel")) # noqa: S605 -TIMEOUTS_FILE = PROJECT_ROOT / "tests" / "resources" / "timeouts.yaml" - - -def main() -> bool: - keys = _get_all_timeout_keys() - duplicate_keys = [key for key, count in Counter(keys).items() if count > 1] - if duplicate_keys: - print( - "While looking at the `timeouts.yaml` file, a duplicate key was found.\n" - f" Please open '{str(TIMEOUTS_FILE)}' and remove one of the duplicate keys.\n" - f" The duplicate keys are: ({duplicate_keys})" - ) - return False - - all_files = {p.name for p in PROJECT_ROOT.rglob("*") if p.is_file()} - missing_files = {key for key in keys if key not in all_files} - if missing_files: - print( - "While looking at the `timeouts.yaml` file, some old keys were found.\n" - " These keys point to notebooks/qmods which are long gone.\n" - " We'll automatically remove them. Make sure to `git add` these new changes." - ) - _remove_keys(missing_files) - return False - - return True - - -def _get_all_timeout_keys() -> list[str]: - with TIMEOUTS_FILE.open("r") as f: - data = f.read() - - return [line.split(":")[0].strip() for line in data.splitlines()] - - -def _remove_keys(keys: set[str]) -> None: - with TIMEOUTS_FILE.open("r") as f: - timeouts = yaml.safe_load(f) - - for key in keys: - del timeouts[key] - - with open(TIMEOUTS_FILE, "w") as f: - yaml.dump(timeouts, f, sort_keys=True) - - -if __name__ == "__main__": - if not main(): - sys.exit(1) diff --git a/.internal/pre_commit_tools/notebook_pre_commit_collection.py b/.internal/pre_commit_tools/notebook_pre_commit_collection.py index 9d5820ed8..ff6efe79b 100755 --- a/.internal/pre_commit_tools/notebook_pre_commit_collection.py +++ b/.internal/pre_commit_tools/notebook_pre_commit_collection.py @@ -11,11 +11,6 @@ import yaml PROJECT_ROOT = Path(subprocess.getoutput("git rev-parse --show-toplevel")) # noqa: S605 -TIMEOUTS_FILE = PROJECT_ROOT / "tests" / "resources" / "timeouts.yaml" - -DEFAULT_TIMEOUT_SECONDS: float = 20 - -ENFORCE_TIMEOUTS: bool = False def main(full_file_paths: Iterable[str]) -> bool: @@ -41,27 +36,6 @@ def is_valid_notebook(file_path: str, automatically_add_timeout: bool = True) -> f" for example, you may change '{file_path}' to '{file_path.replace(' ', '_')}'." ) - if ( - ENFORCE_TIMEOUTS - and not _is_file_in_timeouts(file_name) - and should_notebook_be_tested(file_path) - ): - if automatically_add_timeout: - _add_file_to_timeouts(file_name) - errors.append( - "A new notebook was detected.\n" - f" Automatically adding a timeout entry {{{file_name} : {DEFAULT_TIMEOUT_SECONDS}}}.\n" - f" Please make sure to add the changes done to '{TIMEOUTS_FILE}'" - ) - else: - errors.append( - "A new notebook was detected.\n" - " However, a coresponding entry in the timeouts file is missing.\n" - f" Please add an entry. You may add '{{{file_name} : {DEFAULT_TIMEOUT_SECONDS}}}'\n" - f" to {TIMEOUTS_FILE}\n" - " Alternatively, you may install pre-commit. It will automatically add a timeout entry in the next time you run 'git commit'." - ) - if errors: spacing = "\n\t" # f-string cannot include backslash print(f"File `{file_path}` has error(s):{spacing}{spacing.join(errors)}") @@ -81,23 +55,6 @@ def _does_contain_space_in_file_name(file_name: str) -> bool: return " " in file_name -def _is_file_in_timeouts(file_name: str) -> bool: - with TIMEOUTS_FILE.open("r") as f: - timeouts = yaml.safe_load(f) - - return file_name in timeouts - - -def _add_file_to_timeouts(file_name: str) -> None: - with TIMEOUTS_FILE.open("r") as f: - timeouts = yaml.safe_load(f) - - timeouts[file_name] = DEFAULT_TIMEOUT_SECONDS - - with TIMEOUTS_FILE.open("w") as f: - yaml.dump(timeouts, f, sort_keys=True) - - def validate_unique_names() -> bool: all_files = PROJECT_ROOT.rglob("*.ipynb") base_names = [ diff --git a/.internal/pre_commit_tools/qmod_pre_commit_collection.py b/.internal/pre_commit_tools/qmod_pre_commit_collection.py index 0c61c7c0a..5ffc655ab 100755 --- a/.internal/pre_commit_tools/qmod_pre_commit_collection.py +++ b/.internal/pre_commit_tools/qmod_pre_commit_collection.py @@ -11,11 +11,6 @@ import yaml PROJECT_ROOT = Path(subprocess.getoutput("git rev-parse --show-toplevel")) # noqa: S605 -TIMEOUTS_FILE = PROJECT_ROOT / "tests" / "resources" / "timeouts.yaml" - -DEFAULT_TIMEOUT_SECONDS: float = 10 - -ENFORCE_TIMEOUTS: bool = False def main(full_file_paths: Iterable[str]) -> bool: @@ -45,27 +40,6 @@ def is_valid_qmod( f" for example, you may change '{file_path}' to '{file_path.replace(' ', '_')}'." ) - if ( - ENFORCE_TIMEOUTS - and not _is_file_in_timeouts(file_name) - and should_notebook_be_tested(file_path) - ): - if automatically_add_timeout: - _add_file_to_timeouts(file_name) - errors.append( - "A new qmod was detected.\n" - f" Automatically adding a timeout entry {{{file_name} : {DEFAULT_TIMEOUT_SECONDS}}}.\n" - f" Please make sure to add the changes done to '{TIMEOUTS_FILE}'" - ) - else: - errors.append( - "A new qmod was detected.\n" - " However, a coresponding entry in the timeouts file is missing.\n" - f" Please add an entry. You may add '{{{file_name} : {DEFAULT_TIMEOUT_SECONDS}}}'\n" - f" to {TIMEOUTS_FILE}\n" - " Alternatively, you may install pre-commit. It will automatically add a timeout entry in the next time you run 'git commit'." - ) - spacing = "\n\t" # f-string cannot include backslash errors_combined_message = ( f"File `{file_path}` has error(s):{spacing}{spacing.join(errors)}" @@ -92,23 +66,6 @@ def _does_contain_space_in_file_name(file_name: str) -> bool: return " " in file_name -def _is_file_in_timeouts(file_name: str) -> bool: - with TIMEOUTS_FILE.open("r") as f: - timeouts = yaml.safe_load(f) - - return file_name in timeouts - - -def _add_file_to_timeouts(file_name: str) -> None: - with TIMEOUTS_FILE.open("r") as f: - timeouts = yaml.safe_load(f) - - timeouts[file_name] = DEFAULT_TIMEOUT_SECONDS - - with TIMEOUTS_FILE.open("w") as f: - yaml.dump(timeouts, f, sort_keys=True) - - def validate_unique_names() -> bool: all_files: Iterable[Path] = PROJECT_ROOT.rglob("*.qmod") # exclude `functions/` diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 17a071653..1a0209831 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -82,15 +82,6 @@ repos: additional_dependencies: - "pyyaml==6.0" require_serial: true - # - id: clean-demo-timeouts - # name: Clean demo timeouts - # description: Remove unexisting entries and verify unique keys - # entry: .internal/pre_commit_tools/clean_timeouts.py - # language: python - # files: \.(qmod|ipynb|yaml)$ - # additional_dependencies: - # - "pyyaml==6.0" - # require_serial: true - id: validate-metadata-file name: Validate Metadata file description: Add file if non existant and validate value otherwise diff --git a/tests/resources/timeouts.yaml b/tests/resources/timeouts.yaml deleted file mode 100644 index 7978e513c..000000000 --- a/tests/resources/timeouts.yaml +++ /dev/null @@ -1,404 +0,0 @@ -1D_Periodic_Laplacian_BE.qmod: 30 -3_sat_grover_large.qmod: 60 -3_sat_grover_small.qmod: 90 -3sat_oracles.ipynb: 1800 -CRX.qmod: 10 -CX.qmod: 10 -HHL_portfolio.ipynb: 1799 -ND_Laplacian_BE.ipynb: 300 -ND_Periodic_Laplacian_BE.qmod: 10 -Option_Pricing_Workshop.ipynb: 400 -PHASE.qmod: 10 -Qmod_tutorial_part1.ipynb: 500 -Qmod_tutorial_part2.ipynb: 500 -R.qmod: 10 -RZ.qmod: 10 -RZZ.qmod: 10 -SWAP.qmod: 10 -U.qmod: 10 -WS_iQuHack_2025_final.ipynb: 200 -X.qmod: 10 -adapt_vqe.ipynb: 1799 -adapt_vqe.qmod: 1799 -adapt_qaoa.ipynb: 1799 -adapt_qaoa.qmod: 1799 -add_bell_states.qmod: 10 -advection_equation_2nd_place_submission.ipynb: 500 -advection_equation_winning_submission.ipynb: 1200 -algo_design_QCE_tutorial_part_I.ipynb: 1000 -algo_design_QCE_tutorial_part_II.ipynb: 1000 -approximated_state_preparation.ipynb: 800 -arithmetic_demo_12_qubits.qmod: 24 -arithmetic_demo_9_qubits.qmod: 24 -arithmetic_expression_example.ipynb: 30 -arithmetic_expression_example.qmod: 10 -arithmetic_expressions.ipynb: 40 -autoencoder.qmod: 30 -autoencoder_network.qmod: 30 -autoencoder_verifier.qmod: 30 -auxiliary_management.ipynb: 40 -banded_be.qmod: 40 -banded_sym_be.qmod: 40 -bb84_implementation.ipynb: 150 -bb84_implementation.qmod: 150 -bernstein_vazirani.ipynb: 32 -bernstein_vazirani.qmod: 32 -bitwise_and_2vars_example.qmod: 10 -bitwise_and_example.ipynb: 30 -bitwise_and_integer_example.qmod: 10 -bitwise_invert_example.ipynb: 30 -bitwise_invert_example.qmod: 10 -bitwise_or_2vars_example.qmod: 10 -bitwise_or_example.ipynb: 30 -bitwise_or_integer_example.qmod: 10 -bitwise_xor_2vars_example.qmod: 10 -bitwise_xor_example.ipynb: 30 -bitwise_xor_integer_example.qmod: 10 -block_encoding.qmod: 300 -bpde.ipynb: 600 -bpde.qmod: 10 -brownian_chebyshev_polynomials.ipynb: 1799 -brownian_chebyshev_polynomials.qmod: 1799 -cheb_lcu_solver_banded_be.qmod: 400 -cheb_lcu_solver_pauli_be.qmod: 400 -chebyshev_approximation.ipynb: 20 -checkerboard_BE_N8.qmod: 200 -classical_shadows.ipynb: 600 -classiq_chemistry_application.ipynb: 80 -classiq_discrete_quantum_walk.ipynb: 300 -classiq_iQuHack_2025_final.ipynb: 200 -classiq_iQuHack_2025_final_sol.ipynb: 200 -classiq_iQuHack_2025_quantum_tree_sol.ipynb: 200 -classiq_overview_tutorial.ipynb: 500 -classiq_qsvt.ipynb: 300 -combi_workshop_Inequality_constriants_PO.ipynb: 700 -combi_workshop_equality_constriants_PO.ipynb: 700 -combinatorial_qmod_workshop_for_maxcut.ipynb: 250 -comparator_2vars_example.qmod: 10 -comparator_example.ipynb: 30 -comparator_integer_example.qmod: 10 -complex_deutsch_jozsa.qmod: 32 -cooling_systems_optimization.ipynb: 1800 -cooling_systems_optimization.qmod: 400 -credit_card_fraud.ipynb: 1084 -credit_card_fraud.qmod: 1064 -deutsch_jozsa.ipynb: 48 -discrete_log.ipynb: 600 -discrete_log.qmod: 300 -discrete_log_large.qmod: 600 -discrete_poisson_solver.ipynb: 300 -discrete_poisson_solver.qmod: 300 -discrete_quantum_walk.ipynb: 90 -discrete_quantum_walk_circle.ipynb: 800 -discrete_time_quantum_walk.ipynb: 1799 -dqi_max_xorsat.ipynb: 200 -dqi_max_xorsat.qmod: 200 -dt_quantumwalk_complex_network.qmod: 1799 -electric_grid_optimization.ipynb: 996 -electric_grid_optimization.qmod: 1152 -elliptic_curve_discrete_log.ipynb: 1800 -elliptic_curve_discrete_log.qmod: 1800 -encode_in_angle.qmod: 10 -encode_on_bloch.qmod: 10 -entanglement.ipynb: 20 -entanglement.qmod: 10 -equal_superposition_3_qubits.qmod: 10 -evidence_scaling_labs.ipynb: 1799 -exact_amplitude_amplification.ipynb: 20 -example_exponentiation.ipynb: 216 -example_exponentiation.qmod: 92 -example_exponentiation_minimize_error.qmod: 20 -example_prepare_amplitudes.qmod: 10 -example_prepare_state.qmod: 10 -execution_tutorial.ipynb: 20 -execution_tutorial_part2.ipynb: 20 -extended_binary_tree_matrix_block_encoding.qmod: 200 -extremum_example.ipynb: 30 -facility_location.ipynb: 1656 -facility_location.qmod: 1592 -glued_trees.ipynb: 500 -glued_trees_example.qmod: 200 -gm_qaoa.ipynb: 1799 -gm_qaoa.qmod: 1799 -gqsp.ipynb: 60 -gqsp.qmod: 50 -grover.ipynb: 120 -grover_graph_coloring.ipynb: 1799 -grover_graph_coloring.qmod: 1799 -grover_max_cut.qmod: 60 -grover_operator.ipynb: 20 -grover_operator.qmod: 10 -grover_workshop.ipynb: 1000 -grover_workshop.qmod: 20 -hadamard_test.ipynb: 44 -hadamard_test.qmod: 20 -hadamard_transform.ipynb: 20 -hadamard_transform.qmod: 10 -hamiltonian_evolution.ipynb: 1200 -hamiltonian_evolution_exponentiation.ipynb: 20 -hamiltonian_evolution_exponentiation.qmod: 10 -hamiltonian_simulation_gqsp.qmod: 300 -hamiltonian_simulation_guide.ipynb: 1000 -hamiltonian_simulation_guide_exponentiation.qmod: 300 -hamiltonian_simulation_guide_qdrift.qmod: 300 -hamiltonian_simulation_guide_trotter.qmod: 300 -hamiltonian_simulation_qsvt.qmod: 300 -hamiltonian_simulation_qubitization.qmod: 300 -hamiltonian_simulation_with_block_encoding.ipynb: 900 -hardware_aware_mcx.ipynb: 56 -hardware_aware_mcx_all_to_all.qmod: 36 -hardware_aware_mcx_grid.qmod: 10 -hardware_aware_mcx_linear.qmod: 44 -hardware_aware_mcx_star.qmod: 10 -harmonic_oscillator.ipynb: 300 -harmonic_oscillator.qmod: 300 -heat_eq_qsvt.ipynb: 1799 -heat_eq_qsvt.qmod: 1799 -hhl.ipynb: 312 -hhl_exact.qmod: 100 -hhl_example.ipynb: 800 -hhl_lanchester.ipynb: 450 -hhl_lanchester.qmod: 450 -hhl_portfolio.qmod: 1799 -hhl_trotter.qmod: 100 -hhl_workshop.ipynb: 300 -hidden_shift.ipynb: 272 -hidden_shift_complex.qmod: 100 -hidden_shift_no_dual.qmod: 92 -hidden_shift_simple.qmod: 20 -high_level_modeling_flexible_qpe.ipynb: 100 -hw_aware_synthesis.ipynb: 40 -hybrid_qnn_for_subset_majority.ipynb: 120 -integer_linear_programming.ipynb: 400 -integer_linear_programming.qmod: 400 -ising_model.ipynb: 300 -ising_model.qmod: 300 -kidney_exchange_problem.ipynb: 300 -kidney_exchange_problem.qmod: 300 -laplacian_BE_Nx4_Ny4.qmod: 200 -learning_optimization.ipynb: 80 -linear_combination_of_unitaries.ipynb: 20 -linear_combination_of_unitaries.qmod: 10 -linear_pauli_rotations.ipynb: 20 -linear_pauli_rotations.qmod: 10 -link_monitoring.ipynb: 76 -link_monitoring.qmod: 88 -logical_qubits_by_alice_and_bob.ipynb: 1800 -matrix_inverse.qmod: 400 -max_clique.ipynb: 300 -max_clique.qmod: 300 -max_independent_set.ipynb: 200 -max_independent_set.qmod: 200 -max_induced_k_color_subgraph.ipynb: 1028 -max_induced_k_color_subgraph.qmod: 1008 -max_k_vertex_cover.ipynb: 600 -max_k_vertex_cover.qmod: 600 -maximum_float_example.qmod: 10 -maximum_integer_example.qmod: 10 -mcx.ipynb: 350 -mcx_10_ctrl_depth.qmod: 10 -mcx_14_ctrl_cx.qmod: 28 -mcx_14_ctrl_depth.qmod: 28 -mcx_14_ctrl_hardware.qmod: 724 -mcx_50_ctrl.qmod: 300 -mcx_example.ipynb: 30 -mcx_example.qmod: 10 -min_graph_coloring.ipynb: 1800 -min_graph_coloring.qmod: 1800 -minimum_2vars_example.qmod: 10 -minimum_dominating_set.ipynb: 1000 -minimum_dominating_set.qmod: 1000 -modular_exp_example.ipynb: 100 -modular_exp_example.qmod: 100 -modulo_example.ipynb: 30 -modulo_example.qmod: 10 -molecular_energy_curve.ipynb: 1200 -molecular_energy_curve.qmod: 90 -molecule_eigensolver.ipynb: 84 -molecule_eigensolver_hwea.qmod: 40 -molecule_eigensolver_ucc.qmod: 40 -multiplication.ipynb: 20 -multiplication_2vars_example.qmod: 10 -multiplication_float_example.qmod: 10 -negation_example.ipynb: 30 -negation_example.qmod: 10 -network_traffic_optimization.ipynb: 300 -network_traffic_optimization.qmod: 300 -oblivious_amplitude_amplification.ipynb: 40 -oblivious_amplitude_amplification.qmod: 10 -option_pricing.ipynb: 140 -option_pricing.qmod: 140 -oracles_workshop.ipynb: 20 -partial_exponential_state_preparation.ipynb: 120 -patch_min_vertex_cover.ipynb: 52 -patch_min_vertex_cover.qmod: 52 -pauli_be.qmod: 40 -pauli_sym_be.qmod: 40 -pennylane_cat_qsvt_example.ipynb: 300 -pennylane_catalyst_discrete_quantum_walk.ipynb: 300 -portfolio_optimization.ipynb: 400 -portfolio_optimization.qmod: 400 -portfolio_optimization_with_hhl.ipynb: 1799 -portfolio_optimization_with_hhl.qmod: 1799 -posture_optimization.qmod: 1799 -prepare_bell_state.ipynb: 20 -prepare_bell_state.qmod: 10 -prepare_exponential_state.ipynb: 20 -prepare_exponential_state.qmod: 10 -prepare_ghz_state.ipynb: 20 -prepare_ghz_state.qmod: 10 -prepare_partial_uniform_state.ipynb: 20 -prepare_state.ipynb: 20 -prepare_state.qmod: 20 -prepare_state_and_amplitudes.ipynb: 20 -prepare_uniform_interval_state.qmod: 10 -prepare_uniform_trimmed_state.qmod: 10 -protein_folding.ipynb: 240 -protein_folding.qmod: 240 -qaoa_in_qaoa.ipynb: 1799 -qaoa_in_qaoa.qmod: 1799 -qaoa.ipynb: 600 -qaoa_demonstration.ipynb: 450 -qaoa_knapsack.qmod: 300 -qaoa_max_cut.qmod: 300 -qct_qst.ipynb: 30 -qct_qst_type1.qmod: 20 -qct_qst_type2.qmod: 20 -qct_type2.qmod: 20 -qdrift.ipynb: 20 -qdrift.qmod: 10 -qfold.ipynb: 1799 -qfold.qmod: 1799 -qft.ipynb: 20 -qft.qmod: 10 -qgan_bars_and_strips.ipynb: 360 -qiskit_discrete_quantum_walk.ipynb: 300 -qiskit_qsvt.ipynb: 300 -qlbm.ipynb: 400 -qlbm.qmod: 400 -qls_chebyshev_lcu.ipynb: 800 -qls_qsvt.ipynb: 600 -qmc_user_defined.ipynb: 176 -qmc_user_defined.qmod: 136 -qml_with_classiq_guide.ipynb: 300 -qnn_with_pytorch.qmod: 300 -qpe.ipynb: 20 -qpe.qmod: 10 -qpe_flexible.qmod: 10 -qpe_for_grover_operator.ipynb: 1500 -qpe_for_matrix.ipynb: 748 -qpe_for_matrix_approx.qmod: 600 -qpe_for_matrix_exact.qmod: 600 -qpe_for_molecule_with_qubitization.ipynb: 1799 -qpe_for_molecules.ipynb: 1332 -qpe_for_molecules.qmod: 1292 -qpe_for_unitary_matrix.ipynb: 600 -qpe_on_walk_operator.qmod: 1799 -qst_type2.qmod: 20 -qsvm.ipynb: 204 -qsvm.qmod: 104 -qsvm_pauli_feature_map.ipynb: 68 -qsvm_pauli_feature_map.qmod: 60 -qsvt.ipynb: 20 -qsvt.qmod: 10 -qsvt_fixed_point_amplitude_amplification.ipynb: 376 -qsvt_fixed_point_amplitude_amplification.qmod: 340 -qsvt_matrix_inversion.ipynb: 180 -qsvt_matrix_inversion.qmod: 156 -qsvt_solver_banded_be.qmod: 300 -qsvt_solver_pauli_be.qmod: 300 -quantum_autocallable_option_pricing.ipynb: 700 -quantum_autoencoder.ipynb: 120 -quantum_compression_algorithm_for_symmetric_states.ipynb: 60 -quantum_compression_algorithm_for_symmetric_states.qmod: 60 -quantum_counting.ipynb: 300 -quantum_counting_iqae.qmod: 200 -quantum_counting_qpe.qmod: 200 -quantum_double_slit_experiment.ipynb: 1499 -quantum_double_slit_experiment.qmod: 1499 -quantum_image_edge_detection.ipynb: 1799 -quantum_image_edge_detection.qmod: 1799 -quantum_teleportation.ipynb: 20 -quantum_teleportation.qmod: 10 -quantum_thermal_state_preparation.ipynb: 1000 -quantum_volume.ipynb: 516 -quantum_walk_circle.qmod: 25 -quantum_walk_circle_balanced_coin.qmod: 25 -quantum_walk_classiq.qmod: 60 -quantum_walk_hypercube.qmod: 30 -quantum_walks_via_efficient_blockencoding.ipynb: 720 -quantumwalk_complex_network.ipynb: 1799 -radio_access_network_positioning_antennas.ipynb: 1799 -radio_access_network_positioning_antennas.qmod: 1799 -rainbow_options_bruteforce_method.ipynb: 1000 -rainbow_options_bruteforce_method.qmod: 1000 -rainbow_options_direct_method.ipynb: 1000 -rainbow_options_direct_method.qmod: 1000 -rainbow_options_integration_method.ipynb: 1000 -rainbow_options_integration_method.qmod: 1000 -randomized_benchmarking.ipynb: 60 -rectangles_packing.qmod: 1800 -rectangles_packing_grid.ipynb: 1800 -resiliency_planning.ipynb: 1799 -resiliency_planning.qmod: 1799 -robust_posture_optimization.ipynb: 1799 -second_quantized_hamiltonian.ipynb: 44 -second_quantized_hamiltonian.qmod: 40 -select_structures_BE.ipynb: 600 -set_cover.ipynb: 1440 -set_cover.qmod: 1216 -set_partition.ipynb: 350 -set_partition.qmod: 350 -shor.ipynb: 300 -shor.qmod: 300 -simon.ipynb: 40 -simon_example.qmod: 30 -simon_shallow_example.qmod: 20 -simple_deutsch_jozsa.qmod: 16 -solving_qlsp_with_aqc.ipynb: 800 -solving_qlsp_with_aqc.qmod: 800 -standard_gates.ipynb: 20 -stateprep_guassian_using_qsvt.ipynb: 600 -stateprep_guassian_using_qsvt.qmod: 600 -stochastic_bandedcirculant_matrix_block_encoding.qmod: 200 -subtraction_2vars_example.qmod: 10 -subtraction_example.ipynb: 30 -subtraction_float_example.qmod: 10 -superposition.ipynb: 20 -suzuki_trotter.ipynb: 20 -suzuki_trotter.qmod: 10 -swap_test.ipynb: 40 -swap_test.qmod: 40 -synthesis_tutorial.ipynb: 500 -tanh.qmod: 20 -task_scheduling_problem.ipynb: 840 -task_scheduling_problem.qmod: 64 -task_scheduling_problem_large.qmod: 688 -tensor_hypercontraction.ipynb: 1799 -time_marching.ipynb: 500 -time_marching.qmod: 400 -tket_discrete_quantum_walk.ipynb: 300 -tket_qsvt_example.ipynb: 300 -toeplitz_BE_N16.qmod: 200 -traveling_salesman_problem.ipynb: 1068 -traveling_salesman_problem.qmod: 1068 -tridiagonal_BE_size16.qmod: 200 -unitary.ipynb: 20 -unitary.qmod: 10 -value_at_risk.ipynb: 1799 -value_at_risk.qmod: 1799 -variational_data_encoding.ipynb: 20 -variational_quantum_imaginary_time_evolution.ipynb: 1799 -variational_quantum_imaginary_time_evolution.qmod: 1799 -vehicle_routing_problem.ipynb: 800 -verify_block_encoding.ipynb: 120 -vlasov_ampere.ipynb: 1200 -vlasov_ampere_qiskit.ipynb: 600 -vqe.ipynb: 20 -vqe_primitive.qmod: 300 -vqe_primitives.qmod: 10 -vqe_uccLiH.qmod: 60 -vqls_with_lcu.ipynb: 1200 -vqls_with_lcu.qmod: 20 -whitebox_fuzzing.ipynb: 720 -whitebox_fuzzing.qmod: 720