def _update_B(self):
for param in self.freeparams:<EOL><INDENT>if param == '<STR_LIT>':<EOL><INDENT>continue<EOL><DEDENT>paramval = getattr(self, param)<EOL>if isinstance(paramval, float):<EOL><INDENT>self.B[param] = broadcastMatrixMultiply(self.Ainv,<EOL>broadcastMatrixMultiply(self.dPrxy[param], self.A))<EOL><DEDENT>else:<EOL><INDENT>assert isinstance(paramval, numpy.ndarray) and paramval.ndim == <NUM_LIT:1><EOL>for j in range(paramval.shape[<NUM_LIT:0>]):<EOL><INDENT>self.B[param][j] = broadcastMatrixMultiply(self.Ainv,<EOL>broadcastMatrixMultiply(self.dPrxy[param][j],<EOL>self.A))<EOL><DEDENT><DEDENT><DEDENT>
Update `B`.