compute_lumerical_to_permittivity_jacobian#
- Parametrization.compute_lumerical_to_permittivity_jacobian(fdtd_session: FdtdSession, params: ndarray) tuple[dict[str, dict[str, dict[str, ndarray]]], ndarray, float]#
Compute d_eps/dP, the (sparse) Jacobian of the permittivity wrt Lumerical Geometry Parameters (‘P’). Uses the DEpsCalculator to compute the sparse Jacobian.
- Parameters:
- fdtd_sessionFdtdSession,
The FDTD session within which to compute the Jacobian.
- params
np.ndarray Optimization parameter values at which to compute the Jacobian.
- Returns:
- d_eps_dP_dict
dict[str,dict[str,dict[str,np.ndarray]]] Nested dictionary. Top-level keys are
'object_name::property_name'strings. Each value is a dict with keys'eps_x','eps_y','eps_z', where each entry is a dict with'data','indices', and'indptr'arrays representing the sparse dEps/dP.- global_shape
np.ndarray Shape
(4,)array[Nx, Ny, Nz, Nlambda]of the full (un-cropped) index monitor.- wl_metres
np.ndarray 1D matrix of wavelength(s) in meters corresponding to the index monitor.
- d_eps_dP_dict