Dense Matrices¶
Matrix Class Reference¶
-
class
sympy.matrices.dense.
MutableDenseMatrix
[source]¶ -
col_del
(i)[source]¶ Delete the given column.
See also
col
,row_del
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).
See also
col
,row_op
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.
See also
col
,row_swap
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.
See also
copyin_matrix
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]])
-
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.
See also
copyin_list
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]])
-
row_del
(i)[source]¶ Delete the given row.
See also
row
,col_del
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
i
using two-arg functor whose args are interpreted as(self[i, j], j)
.See also
row
,zip_row_op
,col_op
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]])
-
row_swap
(i, j)[source]¶ Swap the two given rows of the matrix in-place.
See also
row
,col_swap
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]])
-
simplify
(ratio=1.7, measure=<function count_ops>)[source]¶ Applies simplify to the elements of a matrix in place.
This is a shortcut for M.applyfunc(lambda x: simplify(x, ratio, measure))
See also
-
zip_row_op
(i, k, f)[source]¶ In-place operation on row
i
using two-arg functor whose args are interpreted as(self[i, j], self[k, j])
.See also
row
,row_op
,col_op
Examples
>>> from sympy.matrices import eye >>> M = eye(3) >>> M.zip_row_op(1, 0, lambda v, u: v + 2*u); M Matrix([ [1, 0, 0], [2, 1, 0], [0, 0, 1]])
-
ImmutableMatrix Class Reference¶
-
class
sympy.matrices.immutable.
ImmutableMatrix
[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
-
C
By-element conjugation.
-
adjoint
() Conjugate transpose or Hermitian conjugation.
-
as_mutable
() 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) Applies
equals
to 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.See also
sympy.core.expr.equals
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
-
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
-