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, ==Implementing categories
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 and matrix coordinates
Direct sums and finite (co)productsdirect_sum, , product, ×, coproduct, Linear and abelian categories
Simple objects and composition factorssimples, simples_names, is_simple, simple_subobjects, composition_factorsSimple objects and finite length
Direct-sum decompositionsdecompose, indecomposables, is_indecomposable, Oscar.is_isomorphicIdempotents and Krull–Schmidt categories, finite and semisimple categories
Kernels, cokernels, and imageskernel, cokernel, image, is_monomorphism, is_epimorphism, is_subobjectLinear, additive, and abelian categories
Structural predicatesis_linear, is_additive, is_abelian, is_locally_finite, is_finite, is_krull_schmidt, is_semisimple, is_split_semisimpleLinear categories, simple objects and finite-length categories, finite and semisimple categories, splitting
Standard category constructionsopposite_category, product_category, extension_of_scalars, split, semisimplification, karoubian_envelopeProducts and scalar extension, semisimplification, 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.