Macaulay2 Engine
Loading...
Searching...
No Matches

◆ rawSchurSnTensorMult()

const RingElement * rawSchurSnTensorMult ( const RingElement * a,
const RingElement * b )

Definition at line 962 of file ringelement.cpp.

965{
966 try
967 {
968 const SchurSnRing *R = a->get_ring()->cast_to_SchurSnRing();
969 if (R == nullptr)
970 {
971 ERROR("expected a SchurSn ring element");
972 return nullptr;
973 }
974 if (R != b->get_ring())
975 {
976 ERROR("expected SchurSn ring elements");
977 return nullptr;
978 }
980 return RingElement::make_raw(R, result);
981 } catch (const exc::engine_error& e)
982 {
983 ERROR(e.what());
984 return nullptr;
985 }
986}
virtual const SchurSnRing * cast_to_SchurSnRing() const
Definition ring.hpp:279
ring_elem get_value() const
Definition relem.hpp:79
static RingElement * make_raw(const Ring *R, ring_elem f)
Definition relem.cpp:20
const Ring * get_ring() const
Definition relem.hpp:81
ring_elem tensor_mult(const ring_elem f, const ring_elem g) const
Definition schurSn.cpp:18
SchurRing2 subclass implementing the symmetric-group character ring (the "Schur ring of `S_n`"),...
Definition schurSn.hpp:51
const int ERROR
Definition m2-mem.cpp:55
VALGRIND_MAKE_MEM_DEFINED & result(result)

References Ring::cast_to_SchurSnRing(), ERROR, RingElement::get_ring(), RingElement::get_value(), RingElement::make_raw(), result(), and SchurSnRing::tensor_mult().