def __init__(self, matrix, active=None):
if active is None:<EOL><INDENT>active = np.array([True, True, True])<EOL><DEDENT>self.matrix = matrix<EOL>self.active = active<EOL>for col, name in enumerate(["<STR_LIT:a>", "<STR_LIT:b>", "<STR_LIT:c>"]):<EOL><INDENT>if self.active[col]:<EOL><INDENT>norm = np.linalg.norm(matrix[:, col])<EOL>if norm < self.eps:<EOL><INDENT>raise ValueError("<STR_LIT>" % name)<EOL><DEDENT><DEDENT><DEDENT>if abs(self.volume) < self.eps:<EOL><INDENT>raise ValueError("<STR_LIT>")<EOL><DEDENT>
Argument:
 | ``matrix``  --  the array with cell vectors. each column
                   corresponds to a single cell vector.

Optional argument:
 | ``active``  --  an array with three boolean values indicating
                   which cell vectors are active. [default: all three
                   True]