Dense Matrices¶
Matrix Class Reference¶
- 
class sympy.matrices.dense.DenseMatrix[source]¶
- 
- 
as_mutable()[source]¶
- Returns a mutable version of this matrix - Examples - >>> from sympy import ImmutableMatrix >>> X = ImmutableMatrix([[1, 2], [3, 4]]) >>> Y = X.as_mutable() >>> Y[1, 1] = 5 # Can set values in Y >>> Y Matrix([ [1, 2], [3, 5]]) 
 - 
equals(other, failing_expression=False)[source]¶
- Applies - equalsto corresponding elements of the matrices, trying to prove that the elements are equivalent, returning True if they are, False if any pair is not, and None (or the first failing expression if failing_expression is True) if it cannot be decided if the expressions are equivalent or not. This is, in general, an expensive operation.- Examples - >>> from sympy.matrices import Matrix >>> from sympy.abc import x >>> from sympy import cos >>> A = Matrix([x*(x - 1), 0]) >>> B = Matrix([x**2 - x, 0]) >>> A == B False >>> A.simplify() == B.simplify() True >>> A.equals(B) True >>> A.equals(2) False - See also 
 
- 
- 
class sympy.matrices.dense.MutableDenseMatrix(*args, **kwargs)[source]¶
- 
col_del(i)[source]¶
- Delete the given column. - Examples - >>> from sympy.matrices import eye >>> M = eye(3) >>> M.col_del(1) >>> M Matrix([ [1, 0], [0, 0], [0, 1]]) 
 - 
col_op(j, f)[source]¶
- In-place operation on col j using two-arg functor whose args are interpreted as (self[i, j], i). - Examples - >>> from sympy.matrices import eye >>> M = eye(3) >>> M.col_op(1, lambda v, i: v + 2*M[i, 0]); M Matrix([ [1, 2, 0], [0, 1, 0], [0, 0, 1]]) 
 - 
col_swap(i, j)[source]¶
- Swap the two given columns of the matrix in-place. - Examples - >>> from sympy.matrices import Matrix >>> M = Matrix([[1, 0], [1, 0]]) >>> M Matrix([ [1, 0], [1, 0]]) >>> M.col_swap(0, 1) >>> M Matrix([ [0, 1], [0, 1]]) 
 - 
copyin_list(key, value)[source]¶
- Copy in elements from a list. - Parameters
- key : slice - The section of this matrix to replace. - value : iterable - The iterable to copy values from. 
 - Examples - >>> from sympy.matrices import eye >>> I = eye(3) >>> I[:2, 0] = [1, 2] # col >>> I Matrix([ [1, 0, 0], [2, 1, 0], [0, 0, 1]]) >>> I[1, :2] = [[3, 4]] >>> I Matrix([ [1, 0, 0], [3, 4, 0], [0, 0, 1]]) - See also 
 - 
copyin_matrix(key, value)[source]¶
- Copy in values from a matrix into the given bounds. - Parameters
- key : slice - The section of this matrix to replace. - value : Matrix - The matrix to copy values from. 
 - Examples - >>> from sympy.matrices import Matrix, eye >>> M = Matrix([[0, 1], [2, 3], [4, 5]]) >>> I = eye(3) >>> I[:3, :2] = M >>> I Matrix([ [0, 1, 0], [2, 3, 0], [4, 5, 1]]) >>> I[0, 1] = M >>> I Matrix([ [0, 0, 1], [2, 2, 3], [4, 4, 5]]) - See also 
 - 
row_del(i)[source]¶
- Delete the given row. - Examples - >>> from sympy.matrices import eye >>> M = eye(3) >>> M.row_del(1) >>> M Matrix([ [1, 0, 0], [0, 0, 1]]) 
 - 
row_op(i, f)[source]¶
- In-place operation on row - iusing two-arg functor whose args are interpreted as- (self[i, j], j).- Examples - >>> from sympy.matrices import eye >>> M = eye(3) >>> M.row_op(1, lambda v, j: v + 2*M[0, j]); M Matrix([ [1, 0, 0], [2, 1, 0], [0, 0, 1]]) - See also 
 - 
row_swap(i, j)[source]¶
- Swap the two given rows of the matrix in-place. - Examples - >>> from sympy.matrices import Matrix >>> M = Matrix([[0, 1], [1, 0]]) >>> M Matrix([ [0, 1], [1, 0]]) >>> M.row_swap(0, 1) >>> M Matrix([ [1, 0], [0, 1]]) 
 
- 
ImmutableMatrix Class Reference¶
- 
class sympy.matrices.immutable.ImmutableDenseMatrix(*args, **kwargs)[source]
- Create an immutable version of a matrix. - Examples - >>> from sympy import eye >>> from sympy.matrices import ImmutableMatrix >>> ImmutableMatrix(eye(3)) Matrix([ [1, 0, 0], [0, 1, 0], [0, 0, 1]]) >>> _[0, 0] = 42 Traceback (most recent call last): ... TypeError: Cannot set values of ImmutableDenseMatrix - 
is_diagonalizable(reals_only=False, **kwargs)[source]
- Returns true if a matrix is diagonalizable. - Parameters
- reals_only : bool. If reals_only=True, determine whether the matrix can be - diagonalized without complex numbers. (Default: False) 
 - Kwargs - clear_cachebool. If True, clear the result of any computations when finished.
- (Default: True) 
 - Examples - >>> from sympy import Matrix >>> m = Matrix(3, 3, [1, 2, 0, 0, 3, 0, 2, -4, 2]) >>> m Matrix([ [1, 2, 0], [0, 3, 0], [2, -4, 2]]) >>> m.is_diagonalizable() True >>> m = Matrix(2, 2, [0, 1, 0, 0]) >>> m Matrix([ [0, 1], [0, 0]]) >>> m.is_diagonalizable() False >>> m = Matrix(2, 2, [0, 1, -1, 0]) >>> m Matrix([ [ 0, 1], [-1, 0]]) >>> m.is_diagonalizable() True >>> m.is_diagonalizable(reals_only=True) False - See also 
 - 
property is_zero
- Checks if a matrix is a zero matrix. - A matrix is zero if every element is zero. A matrix need not be square to be considered zero. The empty matrix is zero by the principle of vacuous truth. For a matrix that may or may not be zero (e.g. contains a symbol), this will be None - Examples - >>> from sympy import Matrix, zeros >>> from sympy.abc import x >>> a = Matrix([[0, 0], [0, 0]]) >>> b = zeros(3, 4) >>> c = Matrix([[0, 1], [0, 0]]) >>> d = Matrix([]) >>> e = Matrix([[x, 0], [0, 0]]) >>> a.is_zero True >>> b.is_zero True >>> c.is_zero False >>> d.is_zero True >>> e.is_zero 
 
- 
