simpeg.electromagnetics.time_domain.Simulation3DCurrentDensity.getAsubdiagDeriv#
- Simulation3DCurrentDensity.getAsubdiagDeriv(tInd, u, v, adjoint=False)[source]#
- Derivative operation for the sub-diagonal system matrix times a vector. - The sub-diagonal system matrix for time-step index k is given by: \[\mathbf{B}_k = -\frac{1}{\Delta t_k} \mathbf{I}\]- where \(\Delta t_k\) is the step-length and \(\mathbf{I}\) is the identity matrix. - See the Notes section of the doc strings for - Simulation3DCurrentDensityfor a full description of the formulation.- Where \(\mathbf{m}\) are the set of model parameters, \(\mathbf{v}\) is a vector and \(\mathbf{j_{k-1}}\) is the discrete solution for the previous time-step, this method assumes the discrete solution is fixed and returns \[\frac{\partial (\mathbf{B_k \, j_{k-1}})}{\partial \mathbf{m}} \, \mathbf{v}\]- Or the adjoint operation \[\frac{\partial (\mathbf{B_k \, j_{k-1}})}{\partial \mathbf{m}}^T \, \mathbf{v}\]- Parameters:
- tIndint
- The time-step index; between - [0, n_steps-1].
- u(n_faces,) numpy.ndarray
- The solution for the fields for the current model for the previous time-step; i.e. \(\mathbf{j_{k-1}}\). 
- vnumpy.ndarray
- The vector. (n_param,) for the standard operation. (n_faces,) for the adjoint operation. 
- adjointbool
- Whether to perform the adjoint operation. 
 
- tInd
- Returns:
- numpy.ndarray
- Derivative of system matrix times a vector. (n_faces,) for the standard operation. (n_param,) for the adjoint operation. 
 
 
