Dense Matrices¶
Matrix Class Reference¶
-
class
sympy.matrices.dense.
MutableDenseMatrix
[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]])
See also
col
,row_del
-
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]])
See also
col
,row_op
-
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]])
See also
col
,row_swap
-
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]])
See also
row
,col_del
-
row_op
(i, f)[source]¶ In-place operation on row
i
using 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
,zip_row_op
,col_op
-
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]])
See also
row
,col_swap
-
ImmutableMatrix Class Reference¶
-
class
sympy.matrices.immutable.
ImmutableDenseMatrix
[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
is_diagonal
,diagonalize
-
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
-