1 | initial version |

For matrices, I don't know, this is a complex topic in Sage. For tuple of pairs, this is pure Python, and I suggest:

```
def is_a_pair(a):
return isinstance(a,tuple) and len(a)==2
def is_a_tuple_of_pairs(A):
if not isinstance(A,tuple):
return False
return all (is_a_pair(a) for a in A)
```

For matrices, I don't know, this is a complex topic in Sage. For ~~tuple ~~tuples of pairs, this is pure Python, and I suggest:

```
def is_a_pair(a):
return isinstance(a,tuple) and len(a)==2
def is_a_tuple_of_pairs(A):
if not isinstance(A,tuple):
return False
return all (is_a_pair(a) for a in A)
```

3 | addition |

For matrices, I don't know, this is a complex topic in Sage. For tuples of pairs, this is pure Python, and I suggest:

```
def is_a_pair(a):
return isinstance(a,tuple) and len(a)==2
def is_a_tuple_of_pairs(A):
if not isinstance(A,tuple):
return False
return all (is_a_pair(a) for a in A)
```

Note that if you accept lists in addition to tuples, you can use:

```
isinstance(a,(list,tuple))
```

inside these functions and so on.

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.