jacobian_operator module¶
Abstraction of Jacobian as linear operators.
- class gemseo.core.derivatives.jacobian_operator.JacobianOperator(*args, **kwargs)[source]¶
Bases:
LinearOperator
The Jacobian of a discipline as linear operator.
Initialize this LinearOperator.
To be called by subclasses.
dtype
may be None;shape
should be convertible to a length-2 tuple.- Parameters:
- adjoint()¶
Hermitian adjoint.
Returns the Hermitian adjoint of self, aka the Hermitian conjugate or Hermitian transpose. For a complex matrix, the Hermitian adjoint is equal to the conjugate transpose.
Can be abbreviated self.H instead of self.adjoint().
- Returns:
A_H – Hermitian adjoint of self.
- Return type:
LinearOperator
- copy()[source]¶
Create a shallow copy of the Jacobian operator.
- Returns:
A shallow copy of the Jacobian operator.
- Return type:
- dot(x)¶
Matrix-matrix or matrix-vector multiplication.
- Parameters:
x (array_like) – 1-d or 2-d array, representing a vector or matrix.
- Returns:
Ax – 1-d or 2-d array (depending on the shape of x) that represents the result of applying this linear operator on x.
- Return type:
array
- get_matrix_representation()[source]¶
Compute the matrix representation of the Jacobian.
- Returns:
The matrix representation of the Jacobian.
- Return type:
- matmat(X)¶
Matrix-matrix multiplication.
Performs the operation y=A*X where A is an MxN linear operator and X dense N*K matrix or ndarray.
- Parameters:
X ({matrix, ndarray}) – An array with shape (N,K).
- Returns:
Y – A matrix or ndarray with shape (M,K) depending on the type of the X argument.
- Return type:
{matrix, ndarray}
Notes
This matmat wraps any user-specified matmat routine or overridden _matmat method to ensure that y has the correct type.
- matvec(x)¶
Matrix-vector multiplication.
Performs the operation y=A*x where A is an MxN linear operator and x is a column vector or 1-d array.
- Parameters:
x ({matrix, ndarray}) – An array with shape (N,) or (N,1).
- Returns:
y – A matrix or ndarray with shape (M,) or (M,1) depending on the type and shape of the x argument.
- Return type:
{matrix, ndarray}
Notes
This matvec wraps the user-specified matvec routine or overridden _matvec method to ensure that y has the correct shape and type.
- rmatmat(X)¶
Adjoint matrix-matrix multiplication.
Performs the operation y = A^H * x where A is an MxN linear operator and x is a column vector or 1-d array, or 2-d array. The default implementation defers to the adjoint.
- Parameters:
X ({matrix, ndarray}) – A matrix or 2D array.
- Returns:
Y – A matrix or 2D array depending on the type of the input.
- Return type:
{matrix, ndarray}
Notes
This rmatmat wraps the user-specified rmatmat routine.
- rmatvec(x)¶
Adjoint matrix-vector multiplication.
Performs the operation y = A^H * x where A is an MxN linear operator and x is a column vector or 1-d array.
- Parameters:
x ({matrix, ndarray}) – An array with shape (M,) or (M,1).
- Returns:
y – A matrix or ndarray with shape (N,) or (N,1) depending on the type and shape of the x argument.
- Return type:
{matrix, ndarray}
Notes
This rmatvec wraps the user-specified rmatvec routine or overridden _rmatvec method to ensure that y has the correct shape and type.
- shift_identity()[source]¶
Substract the identity to the Jacobian operator.
- Returns:
The Jacobian operator shifted by minus the identity.
- Return type:
_SubJacobianOperator
- transpose()¶
Transpose this linear operator.
Returns a LinearOperator that represents the transpose of this one. Can be abbreviated self.T instead of self.transpose().
- property H¶
Hermitian adjoint.
Returns the Hermitian adjoint of self, aka the Hermitian conjugate or Hermitian transpose. For a complex matrix, the Hermitian adjoint is equal to the conjugate transpose.
Can be abbreviated self.H instead of self.adjoint().
- Returns:
A_H – Hermitian adjoint of self.
- Return type:
LinearOperator
- property T: _AdjointJacobianOperator¶
The transpose of the Jacobian operator.
- Returns:
The transpose of the Jacobian operator.
- ndim = 2¶
- property real: _RealJacobianOperator¶
The real casting of the Jacobian operator output.