Skip to main content

UltravioletGraph

Trait UltravioletGraph 

Source
pub trait UltravioletGraph:
    LMBext
    + FeynmanGraph
    + ParamBuilderGraph {
Show 20 methods // Required methods fn dummy_less_full_crown<S: SubGraphLike>(&self, subgraph: &S) -> S::Base where S::Base: ModifySubSet<Hedge> + SubGraphOps; fn numerator<S: SubGraphLike + SubSetOps>( &self, subgraph: &S, without: &S, ) -> Numerator<AppliedFeynmanRule>; fn denominator<S: SubGraphLike, T: Fn(&Edge) -> isize>( &self, subgraph: &S, edge_powers: T, ) -> Atom; fn compute_dod<S: SubGraphLike<Base = SuBitGraph> + SubSetOps>( &self, subgraph: &S, ) -> i32; fn local_dod<S: SubGraphLike>(&self, subgraph: &S) -> i32; // Provided methods fn n_loops<S: SubGraphLike, E, V, H>(&self, subgraph: &S) -> usize where Self: AsRef<HedgeGraph<E, V, H>> { ... } fn boundary_pdg_set<E: UVE, V, H, S: SubGraphLike<Base = SuBitGraph>>( &self, subgraph: &S, ) -> BTreeSet<isize> where Self: AsRef<HedgeGraph<E, V, H>> { ... } fn internal_pdg_set<E: UVE, V, H, S: SubGraphLike>( &self, subgraph: &S, ) -> BTreeSet<isize> where Self: AsRef<HedgeGraph<E, V, H>> { ... } fn has_massive_boundary_external<E: UVE, V, H, S: SubGraphLike<Base = SuBitGraph>>( &self, subgraph: &S, ) -> bool where Self: AsRef<HedgeGraph<E, V, H>> { ... } fn ct_identifier<E: UVE, V, H, S: SubGraphLike<Base = SuBitGraph>>( &self, subgraph: &S, ) -> CTIdentifier where Self: AsRef<HedgeGraph<E, V, H>> { ... } fn approximation_scheme<E: UVE, V, H, S: SubGraphLike<Base = SuBitGraph>>( &self, subgraph: &S, settings: &UVgenerationSettings, dod: i32, ) -> ApproximationType where Self: AsRef<HedgeGraph<E, V, H>> { ... } fn classify_spinney<E: UVE, V, H>( &self, spinney: InternalSubGraph, settings: &UVgenerationSettings, lmb: &LoopMomentumBasis, ) -> Result<Option<Spinney>> where Self: AsRef<HedgeGraph<E, V, H>> { ... } fn classified_spinneys<E: UVE, V, H, S: SubGraphLike<Base = SuBitGraph>>( &self, subgraph: &S, settings: &UVgenerationSettings, lmb: &LoopMomentumBasis, ) -> Result<Vec<Spinney>> where Self: AsRef<HedgeGraph<E, V, H>> { ... } fn remove_full_observable_spinney<E, V, H>( &self, spinneys: &mut Vec<Spinney>, medium: &MediumSettings, ) where Self: AsRef<HedgeGraph<E, V, H>> { ... } fn all_cycle_unions<E, V, H, S: SubGraphLike<Base = SuBitGraph>>( &self, subgraph: &S, ) -> AHashSet<InternalSubGraph> where Self: AsRef<HedgeGraph<E, V, H>> { ... } fn all_limits<E, V, H, S: SubGraphLike>( &self, subgraph: &S, expr: &Atom, expansion: Symbol, lmb: &LoopMomentumBasis, ) -> Vec<(SubSet<LoopIndex>, Series<AtomField>)> where Self: AsRef<HedgeGraph<E, V, H>> { ... } fn wood<E: UVE, V, H, S: SubGraphLike<Base = SuBitGraph>>( &self, subgraph: &S, ) -> Result<Wood> where Self: AsRef<HedgeGraph<E, V, H>> { ... } fn wood_with_settings<E: UVE, V, H, S: SubGraphLike<Base = SuBitGraph>>( &self, subgraph: &S, settings: &UVgenerationSettings, lmb: &LoopMomentumBasis, ) -> Result<Wood> where Self: AsRef<HedgeGraph<E, V, H>> { ... } fn compute_energy_dod<E, V, H, S>(&self, subgraph: &S) -> i32 where Self: AsRef<HedgeGraph<E, V, H>>, S: SubGraphLike<Base = SuBitGraph> + SubSetOps { ... } fn spinneys<E, V, H, S: SubGraphLike<Base = SuBitGraph>>( &self, subgraph: &S, ) -> AHashSet<InternalSubGraph> where Self: AsRef<HedgeGraph<E, V, H>> { ... }
}

Required Methods§

Source

fn dummy_less_full_crown<S: SubGraphLike>(&self, subgraph: &S) -> S::Base
where S::Base: ModifySubSet<Hedge> + SubGraphOps,

Source

fn numerator<S: SubGraphLike + SubSetOps>( &self, subgraph: &S, without: &S, ) -> Numerator<AppliedFeynmanRule>

Get the numerator of the graph. If multiply_prefactor is true, the numerator is multiplied by the global prefactor. (just num not projector)

Source

fn denominator<S: SubGraphLike, T: Fn(&Edge) -> isize>( &self, subgraph: &S, edge_powers: T, ) -> Atom

Source

fn compute_dod<S: SubGraphLike<Base = SuBitGraph> + SubSetOps>( &self, subgraph: &S, ) -> i32

Source

fn local_dod<S: SubGraphLike>(&self, subgraph: &S) -> i32

Provided Methods§

Source

fn n_loops<S: SubGraphLike, E, V, H>(&self, subgraph: &S) -> usize
where Self: AsRef<HedgeGraph<E, V, H>>,

Source

fn boundary_pdg_set<E: UVE, V, H, S: SubGraphLike<Base = SuBitGraph>>( &self, subgraph: &S, ) -> BTreeSet<isize>
where Self: AsRef<HedgeGraph<E, V, H>>,

Source

fn internal_pdg_set<E: UVE, V, H, S: SubGraphLike>( &self, subgraph: &S, ) -> BTreeSet<isize>
where Self: AsRef<HedgeGraph<E, V, H>>,

Source

fn has_massive_boundary_external<E: UVE, V, H, S: SubGraphLike<Base = SuBitGraph>>( &self, subgraph: &S, ) -> bool
where Self: AsRef<HedgeGraph<E, V, H>>,

Source

fn ct_identifier<E: UVE, V, H, S: SubGraphLike<Base = SuBitGraph>>( &self, subgraph: &S, ) -> CTIdentifier
where Self: AsRef<HedgeGraph<E, V, H>>,

Source

fn approximation_scheme<E: UVE, V, H, S: SubGraphLike<Base = SuBitGraph>>( &self, subgraph: &S, settings: &UVgenerationSettings, dod: i32, ) -> ApproximationType
where Self: AsRef<HedgeGraph<E, V, H>>,

Source

fn classify_spinney<E: UVE, V, H>( &self, spinney: InternalSubGraph, settings: &UVgenerationSettings, lmb: &LoopMomentumBasis, ) -> Result<Option<Spinney>>
where Self: AsRef<HedgeGraph<E, V, H>>,

Source

fn classified_spinneys<E: UVE, V, H, S: SubGraphLike<Base = SuBitGraph>>( &self, subgraph: &S, settings: &UVgenerationSettings, lmb: &LoopMomentumBasis, ) -> Result<Vec<Spinney>>
where Self: AsRef<HedgeGraph<E, V, H>>,

Source

fn remove_full_observable_spinney<E, V, H>( &self, spinneys: &mut Vec<Spinney>, medium: &MediumSettings, )
where Self: AsRef<HedgeGraph<E, V, H>>,

Source

fn all_cycle_unions<E, V, H, S: SubGraphLike<Base = SuBitGraph>>( &self, subgraph: &S, ) -> AHashSet<InternalSubGraph>
where Self: AsRef<HedgeGraph<E, V, H>>,

Source

fn all_limits<E, V, H, S: SubGraphLike>( &self, subgraph: &S, expr: &Atom, expansion: Symbol, lmb: &LoopMomentumBasis, ) -> Vec<(SubSet<LoopIndex>, Series<AtomField>)>
where Self: AsRef<HedgeGraph<E, V, H>>,

Source

fn wood<E: UVE, V, H, S: SubGraphLike<Base = SuBitGraph>>( &self, subgraph: &S, ) -> Result<Wood>
where Self: AsRef<HedgeGraph<E, V, H>>,

Source

fn wood_with_settings<E: UVE, V, H, S: SubGraphLike<Base = SuBitGraph>>( &self, subgraph: &S, settings: &UVgenerationSettings, lmb: &LoopMomentumBasis, ) -> Result<Wood>
where Self: AsRef<HedgeGraph<E, V, H>>,

Source

fn compute_energy_dod<E, V, H, S>(&self, subgraph: &S) -> i32
where Self: AsRef<HedgeGraph<E, V, H>>, S: SubGraphLike<Base = SuBitGraph> + SubSetOps,

Degree of divergence of the simultaneous loop-energy integrations.

The existing UV DOD already contains the numerator and denominator scaling. Replacing the four-dimensional measure by one energy measure per loop therefore amounts to subtracting three powers per loop.

Source

fn spinneys<E, V, H, S: SubGraphLike<Base = SuBitGraph>>( &self, subgraph: &S, ) -> AHashSet<InternalSubGraph>
where Self: AsRef<HedgeGraph<E, V, H>>,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§