Category interface

The same generic functions are shared by many category implementations. Which methods are available depends on the structure provided by the category. See the interface chapters for the mathematical meaning and the implementation checklist when adding a new model.

RolePrincipal public namesManual
Core types, parents, and underlying dataCategory, Object, Morphism, parent, category, object, morphism, ==Models and interface, objects and morphisms
Sources, targets, and compositiondomain, codomain, id, compose, , inv, is_invertible, left_inverse, right_inverse, composition_powerObjects and morphisms
Hom spaces and coordinatesHom, End, HomSpace, HomSet, basis, int_dim, zero_morphism, is_zero, matrix, matrices, express_in_basisLinear categories, matrix coordinates
Direct sums and finite (co)productsdirect_sum, , product, ×, coproduct, Additive and abelian categories
Decomposition and simple objectsdecompose, indecomposables, simples, simples_names, is_simple, is_indecomposable, Oscar.is_isomorphic, simple_subobjects, composition_factorsAdditive and abelian categories, fusion and splitting
Kernels, cokernels, and imageskernel, cokernel, image, is_monomorphism, is_epimorphism, is_subobjectAdditive and abelian categories
Structural predicatesis_linear, is_additive, is_abelian, is_semisimple, is_split_semisimple, is_finiteIndependent structures, fusion and splitting
Standard category constructionsopposite_category, product_category, extension_of_scalars, split, semisimplify, karoubian_envelopeProducts and scalar extension, coefficient fields

These lists identify the generic functions to look up; they do not assert that every row applies to every category. In Julia, methods(name) gives the currently installed methods for a name.