Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
u1.hpp File Reference

Defines U1, the value-level quantum number type for one U(1) symmetry factor. More...

#include <uni20/common/half_int.hpp>
#include <uni20/symmetry/symmetryfactor.hpp>
#include <concepts>
#include <cstdint>
#include <format>
#include <functional>
#include <iosfwd>
#include <limits>
#include <ostream>
#include <stdexcept>
#include <string>
#include <string_view>
Include dependency graph for u1.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  std::formatter< uni20::U1, CharT >
 
struct  std::hash< uni20::U1 >
 
class  uni20::U1
 Value-level quantum number type representing one U(1) irrep. More...
 

Namespaces

namespace  uni20
 

Functions

constexpr auto uni20::degree (U1 value) -> int
 Return the integral degree of a U(1) irrep.
 
constexpr auto uni20::dual (U1 value) -> U1
 Return the dual U(1) irrep.
 
constexpr auto uni20::operator+ (U1 lhs, U1 rhs) -> U1
 Add two U(1) irreps using charge addition.
 
constexpr auto uni20::operator- (U1 lhs, U1 rhs) -> U1
 Subtract two U(1) irreps using charge subtraction.
 
auto uni20::operator<< (std::ostream &out, U1 value) -> std::ostream &
 Stream a U(1) irrep in decimal half-integer form.
 
constexpr auto uni20::qdim (U1 value) -> double
 Return the quantum dimension of a U(1) irrep.
 
auto uni20::to_string (U1 value) -> std::string
 Format a U(1) irrep in decimal half-integer form.
 
auto uni20::to_string_fraction (U1 value) -> std::string
 Format a U(1) irrep in fractional n/2 form.
 

Detailed Description

Defines U1, the value-level quantum number type for one U(1) symmetry factor.

See docs/symmetry/qnum.md for the role of U1 inside the current Symmetry/QNum design.