Macaulay2 Engine
Loading...
Searching...
No Matches
solvable.hpp File Reference

SolvableAlgebra — scaffolding for a PBW algebra x_j x_i = x_i x_j + q_{ij} (multiplication unimplemented). More...

#include "poly.hpp"

Go to the source code of this file.

Classes

class  SolvableAlgebra
 PolyRing subclass for solvable polynomial algebras (PBW-type non-commutative rings where each pair of non-commuting variables satisfies a relation of the form x_j x_i = c_ij x_i x_j + lower). More...

Detailed Description

SolvableAlgebra — scaffolding for a PBW algebra x_j x_i = x_i x_j + q_{ij} (multiplication unimplemented).

Note
AI-generated documentation. Verify against the source before relying on it.

Declares SolvableAlgebra, the PolyRing subclass intended to model polynomial-shaped algebras whose generators do not commute but satisfy a PBW-style straightening relation x_j x_i = x_i x_j + q_{ij} for i < j, with each commutator polynomial q_{ij} supplied as the (i, j) entry of a constructor-provided Matrix Q_. The intended framework covers Weyl algebras, quantum planes, universal enveloping algebras U(g), and the trivial zero-Q case where the algebra degenerates to an ordinary polynomial ring.

The class is currently a stub: initialize_solvable(Q) just stashes the matrix and SolvableAlgebra::mult_by_term (solvable.cpp) returns ZERO_RINGELEM behind a "implement SolvableAlgebra::mult_by_term" #warning, so any non-trivial product collapses to zero. power defers to Ring::power and therefore inherits the same problem. The public surface is in place (create / cast_to_SolvableAlgebra / is_solvable_algebra / mult_by_term), so callers can already plumb through the type, but the PBW reduction itself has yet to be filled in.

See also
poly.hpp
weylalg.hpp
skewpoly.hpp

Definition in file solvable.hpp.