def __init__(self, parent, A): """ INPUT: - ``parent`` - a homspace in a (sub) category of free modules - ``A`` - matrix EXAMPLES:: sage: V = ZZ^3; W = span([[1,2,3],[-1,2,8]], ZZ) sage: phi = V.hom(matrix(ZZ,3,[1..9])) sage: type(phi) <class 'sage.modules.free_module_morphism.FreeModuleMorphism'> """ if not free_module_homspace.is_FreeModuleHomspace(parent): raise TypeError("parent (=%s) must be a free module hom space"%parent) if isinstance(A, matrix_morphism.MatrixMorphism): A = A.matrix() A = parent._matrix_space()(A) matrix_morphism.MatrixMorphism.__init__(self, parent, A)
def __init__(self, parent, A): """ INPUT: - ``parent`` - a homspace in a (sub) category of free modules - ``A`` - matrix EXAMPLES:: sage: V = ZZ^3; W = span([[1,2,3],[-1,2,8]], ZZ) sage: phi = V.hom(matrix(ZZ,3,[1..9])) sage: type(phi) <class 'sage.modules.free_module_morphism.FreeModuleMorphism'> """ if not free_module_homspace.is_FreeModuleHomspace(parent): raise TypeError, "parent (=%s) must be a free module hom space" % parent if isinstance(A, matrix_morphism.MatrixMorphism): A = A.matrix() A = parent._matrix_space()(A) matrix_morphism.MatrixMorphism.__init__(self, parent, A)