auto_contractor.runtime_distillation — Runtime for Distillation Evaluation¶
Source: qlat/auto_contractor/runtime_distillation.py
Note: Update this document when updating the source file.
Outline¶
Overview¶
runtime_distillation provides the runtime environment for evaluating
compiled auto-contractor expressions using the distillation method. It
exports the same interface as runtime but replaces the propagator and
matrix operation backends with distillation-aware implementations from
auto_contractor.distillation_mat_op.
Distillation is a technique where quark propagators are projected onto a subspace of low-mode eigenvectors of the Laplacian, reducing noise in correlation functions.
Differences from runtime¶
The key difference is the source of matrix operations:
Aspect |
|
|
|---|---|---|
Matrix ops source |
|
|
|
Included |
Not included |
|
Included |
Not included |
|
Included |
Not included |
|
Included |
Not included |
|
Included |
Not included |
The distillation backend operates on different data structures (per-operator eigenvector projections rather than point-to-all propagators), so the WilsonMatrix/SpinMatrix/ColorMatrix types and certain operations are not applicable.
Exported Names¶
Common with runtime¶
Name |
Source |
Description |
|---|---|---|
|
|
NumPy array library |
|
|
Scope-based timer |
|
|
Timer with FLOPS counting |
|
|
AMA utilities |
|
|
Callable functions for evaluation |
Distillation Matrix Operations¶
All from auto_contractor.distillation_mat_op:
Category |
Functions |
|---|---|
Propagator |
|
Gamma |
|
Trace |
|
Multiply |
|
Usage¶
Import this module instead of runtime when evaluating compiled expressions
with distillation operators:
from qlat.auto_contractor.runtime_distillation import *
Examples¶
import qlat as q
q.begin_with_mpi([[1, 1, 1, 4]])
from qlat.auto_contractor.runtime_distillation import (
get_gamma_matrix, mat_tr_wm_wm, load_prop, aff,
)
# Use distillation-aware runtime for expression evaluation
g5 = get_gamma_matrix(5)
q.end_with_mpi()