def linearize(self, params, unknowns, resids): """ Calculate and save derivatives. (i.e., Jacobian) """ self.Ja1, self.Ji1, self.Jj1, self.Ja2, self.Ji2, self.Jj2 = computepositionsphericaljacobian( self.n, 3 * self.n, params["r_e2s_B"] ) self.J1 = scipy.sparse.csc_matrix((self.Ja1, (self.Ji1, self.Jj1)), shape=(self.n, 3 * self.n)) self.J2 = scipy.sparse.csc_matrix((self.Ja2, (self.Ji2, self.Jj2)), shape=(self.n, 3 * self.n)) self.J1T = self.J1.transpose() self.J2T = self.J2.transpose()
def linearize(self): self.Ja1, self.Ji1, self.Jj1, self.Ja2, self.Ji2, self.Jj2 = \ computepositionsphericaljacobian(self.n, 3*self.n, self.r_e2s_B) self.J1 = scipy.sparse.csc_matrix((self.Ja1, (self.Ji1, self.Jj1)), shape=(self.n, 3*self.n)) self.J2 = scipy.sparse.csc_matrix((self.Ja2, (self.Ji2, self.Jj2)), shape=(self.n, 3*self.n)) self.J1T = self.J1.transpose() self.J2T = self.J2.transpose() return
def provideJ(self): self.Ja1, self.Ji1, self.Jj1, self.Ja2, self.Ji2, self.Jj2 = \ computepositionsphericaljacobian(self.n, 3*self.n, self.r_e2s_B) self.J1 = scipy.sparse.csc_matrix((self.Ja1, (self.Ji1, self.Jj1)), shape=(self.n, 3 * self.n)) self.J2 = scipy.sparse.csc_matrix((self.Ja2, (self.Ji2, self.Jj2)), shape=(self.n, 3 * self.n)) self.J1T = self.J1.transpose() self.J2T = self.J2.transpose() return
def jacobian(self, params, unknowns, resids): """ Calculate and save derivatives. (i.e., Jacobian) """ self.Ja1, self.Ji1, self.Jj1, self.Ja2, self.Ji2, self.Jj2 = \ computepositionsphericaljacobian(self.n, 3*self.n, params['r_e2s_B']) self.J1 = scipy.sparse.csc_matrix((self.Ja1, (self.Ji1, self.Jj1)), shape=(self.n, 3*self.n)) self.J2 = scipy.sparse.csc_matrix((self.Ja2, (self.Ji2, self.Jj2)), shape=(self.n, 3*self.n)) self.J1T = self.J1.transpose() self.J2T = self.J2.transpose()