symbol

Macro symbol 

Source
symbol!() { /* proc-macro */ }
Expand description

Procedural macro for creating symbols with optional type specification

§Syntax

symbol!(x)                  // Scalar (default, commutative)
symbol!(A; matrix)          // Matrix (noncommutative)
symbol!(p; operator)        // Operator (noncommutative)
symbol!(i; quaternion)      // Quaternion (noncommutative)
symbol!("name")             // String literal for symbol name

§Symbol Types

  • scalar: Commutative symbols (default) - variables like x, y, z
  • matrix: Noncommutative matrix symbols - AB ≠ BA
  • operator: Noncommutative operator symbols - for quantum mechanics [x,p] ≠ 0
  • quaternion: Noncommutative quaternion symbols - ij = k, ji = -k

§Examples

use mathhook_macros::symbol;

// Scalar symbols (commutative)
let x = symbol!(x);
let theta = symbol!(theta);

// Matrix symbols (noncommutative)
let A = symbol!(A; matrix);
let B = symbol!(B; matrix);

// Operator symbols (noncommutative)
let p = symbol!(p; operator);
let x_op = symbol!(x; operator);

// Quaternion symbols (noncommutative)
let i = symbol!(i; quaternion);
let j = symbol!(j; quaternion);