"""1Abstract base class for matrices23For design documentation see matrix/docs.py.4"""56################################################################################7# Copyright (C) 2005, 2006 William Stein <[email protected]>8#9# Distributed under the terms of the GNU General Public License (GPL).10# The full text of the GPL is available at:11#12# http://www.gnu.org/licenses/13################################################################################1415include '../ext/stdsage.pxi'1617def is_Matrix(x):18"""19EXAMPLES::2021sage: from sage.matrix.matrix import is_Matrix22sage: is_Matrix(0)23False24sage: is_Matrix(matrix([[1,2],[3,4]]))25True26"""27return IS_INSTANCE(x, Matrix)2829cdef class Matrix(matrix2.Matrix):30pass3132# This is pretty nasty low level stuff. The idea is to speed up construction33# of EuclideanDomainElements (in particular Integers) by skipping some tp_new34# calls up the inheritance tree.35PY_SET_TP_NEW(Matrix, matrix2.Matrix)363738