.. _infra: Infrastructure ===================== Infrastructure concerns components of ``qlbm`` that do not directly implement functionality related to QLBM quantum circuits. This includes the circuits' integration with quantum simulators, compilers, and external tools. Making good use of such tools and their rapidly expanding ecosystems is crucial for accelerating QLBM research, as it allows researchers to focus on algorithm design rather than simulation techniques. ``qlbm`` currently integrates the core quantum components with the following infrastructure: #. :ref:`simulators` allow users to efficiently simulate quantum circuits. In addition to basic simulation, ``qlbm`` offers features that allow for reinitialization between time steps, among other :ref:`performance` improvements. #. :ref:`compilers` enable users to convert high-level quantum circuits into hardware- or simulator-specific formats, as well as analyze the scalability of available methods. #. :ref:`results` provide an interface between the counts generated by the quantum simulator and Paraview. Information is parsed into standard formats that increase the accessibility of QLBMs. #. :ref:`config` provides a convenient interface that ties together simulators, compilers, and quantum circuits. .. _simulators: Runners ---------------------------------- .. autoclass:: qlbm.infra.runner.base.CircuitRunner :members: .. autoclass:: qlbm.infra.runner.qiskit_runner.QiskitRunner :members: .. autoclass:: qlbm.infra.runner.qulacs_runner.QulacsRunner :members: .. _performance: Performance ---------------------------------- .. autoclass:: qlbm.infra.reinitialize.base.Reinitializer :members: .. autoclass:: qlbm.infra.reinitialize.collisionless_reinitializer.CollisionlessReinitializer :members: .. autoclass:: qlbm.infra.reinitialize.spacetime_reinitializer.SpaceTimeReinitializer :members: .. _compilers: Compilers ---------------------------------- .. autoclass:: qlbm.infra.compiler.CircuitCompiler :members: .. _results: Results ---------------------------------- .. autoclass:: qlbm.infra.result.base.QBMResult :members: .. autoclass:: qlbm.infra.result.collisionless_result.CollisionlessResult :members: .. autoclass:: qlbm.infra.result.spacetime_result.SpaceTimeResult :members: .. _config: Simulation Config ---------------------------------- .. autoclass:: qlbm.infra.runner.simulation_config.SimulationConfig :members: