Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

""" 

Abstract base class for algebras 

""" 

 

#***************************************************************************** 

# Copyright (C) 2005 William Stein <wstein@gmail.com> 

# 

# Distributed under the terms of the GNU General Public License (GPL) 

# 

# This code is distributed in the hope that it will be useful, 

# but WITHOUT ANY WARRANTY; without even the implied warranty of 

# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 

# General Public License for more details. 

# 

# The full text of the GPL is available at: 

# 

# http://www.gnu.org/licenses/ 

#***************************************************************************** 

 

from sage.rings.ring import Algebra 

from sage.categories.algebras import Algebras 

 

def is_Algebra(x): 

r""" 

Return True if x is an Algebra. 

 

EXAMPLES:: 

 

sage: from sage.algebras.algebra import is_Algebra 

sage: R.<x,y> = FreeAlgebra(QQ,2) 

sage: is_Algebra(R) 

True 

""" 

try: 

return isinstance(x, Algebra) or x in Algebras(x.base_ring()) 

except Exception: 

return False