{"action":"created","comment":{"url":"https://api.github.com/repos/simpeg/simpeg/pulls/comments/182935899","pull_request_review_id":113837832,"id":182935899,"diff_hunk":"@@ -202,16 +204,26 @@ def MfMui(self):\n             self._MfMui = self.mesh.getFaceInnerProduct(self.mui)\n         return self._MfMui\n \n-    def MfMuiDeriv(self, u):\n+    def MfMuiDeriv(self, u, v=None, adjoint=False):\n         \"\"\"\n         Derivative of :code:`MfMui` with respect to the model.\n         \"\"\"\n         if self.muiMap is None:\n             return Utils.Zero()\n \n-        return (\n-            self.mesh.getFaceInnerProductDeriv(self.mui)(u) * self.muiDeriv\n-        )\n+        if getattr(self, '_MfMuiDeriv', None) is None:\n+            self._MfMuiDeriv = self.mesh.getFaceInnerProductDeriv(","path":"SimPEG/EM/Base.py","position":34,"original_position":34,"commit_id":"4cb2eca47c374eebb570a77de21228d4722c7edb","original_commit_id":"4cb2eca47c374eebb570a77de21228d4722c7edb","user":{"login":"lheagy","id":6361812,"avatar_url":"https://avatars1.githubusercontent.com/u/6361812?v=4","gravatar_id":"","url":"https://api.github.com/users/lheagy","html_url":"https://github.com/lheagy","followers_url":"https://api.github.com/users/lheagy/followers","following_url":"https://api.github.com/users/lheagy/following{/other_user}","gists_url":"https://api.github.com/users/lheagy/gists{/gist_id}","starred_url":"https://api.github.com/users/lheagy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lheagy/subscriptions","organizations_url":"https://api.github.com/users/lheagy/orgs","repos_url":"https://api.github.com/users/lheagy/repos","events_url":"https://api.github.com/users/lheagy/events{/privacy}","received_events_url":"https://api.github.com/users/lheagy/received_events","type":"User","site_admin":false},"body":"instead of creating a separate property, I stash it as a private variable here","created_at":"2018-04-20T03:06:47Z","updated_at":"2018-04-20T03:06:47Z","html_url":"https://github.com/simpeg/simpeg/pull/691#discussion_r182935899","pull_request_url":"https://api.github.com/repos/simpeg/simpeg/pulls/691","author_association":"OWNER","_links":{"self":{"href":"https://api.github.com/repos/simpeg/simpeg/pulls/comments/182935899"},"html":{"href":"https://github.com/simpeg/simpeg/pull/691#discussion_r182935899"},"pull_request":{"href":"https://api.github.com/repos/simpeg/simpeg/pulls/691"}}},"pull_request":{"url":"https://api.github.com/repos/simpeg/simpeg/pulls/691","id":182052016,"html_url":"https://github.com/simpeg/simpeg/pull/691","diff_url":"https://github.com/simpeg/simpeg/pull/691.diff","patch_url":"https://github.com/simpeg/simpeg/pull/691.patch","issue_url":"https://api.github.com/repos/simpeg/simpeg/issues/691","number":691,"state":"open","locked":false,"title":"ref/em_mass_matrices","user":{"login":"lheagy","id":6361812,"avatar_url":"https://avatars1.githubusercontent.com/u/6361812?v=4","gravatar_id":"","url":"https://api.github.com/users/lheagy","html_url":"https://github.com/lheagy","followers_url":"https://api.github.com/users/lheagy/followers","following_url":"https://api.github.com/users/lheagy/following{/other_user}","gists_url":"https://api.github.com/users/lheagy/gists{/gist_id}","starred_url":"https://api.github.com/users/lheagy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lheagy/subscriptions","organizations_url":"https://api.github.com/users/lheagy/orgs","repos_url":"https://api.github.com/users/lheagy/repos","events_url":"https://api.github.com/users/lheagy/events{/privacy}","received_events_url":"https://api.github.com/users/lheagy/received_events","type":"User","site_admin":false},"body":"- work on simplifying the storage of the inner product matrix derivatives, \r\n- implement storage for the mu deriv matrices\r\n\r\n@sgkang: I would very much appreciate hearing your thoughts on this. I tried to simplify the implementation a bit and also extended it to apply to the mu matrices as well ","created_at":"2018-04-17T05:02:29Z","updated_at":"2018-04-20T03:06:47Z","closed_at":null,"merged_at":null,"merge_commit_sha":"281b73b28a4699aeba0b933c0d44e49fc2454deb","assignee":null,"assignees":[],"requested_reviewers":[{"login":"sgkang","id":6054371,"avatar_url":"https://avatars0.githubusercontent.com/u/6054371?v=4","gravatar_id":"","url":"https://api.github.com/users/sgkang","html_url":"https://github.com/sgkang","followers_url":"https://api.github.com/users/sgkang/followers","following_url":"https://api.github.com/users/sgkang/following{/other_user}","gists_url":"https://api.github.com/users/sgkang/gists{/gist_id}","starred_url":"https://api.github.com/users/sgkang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sgkang/subscriptions","organizations_url":"https://api.github.com/users/sgkang/orgs","repos_url":"https://api.github.com/users/sgkang/repos","events_url":"https://api.github.com/users/sgkang/events{/privacy}","received_events_url":"https://api.github.com/users/sgkang/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/simpeg/simpeg/pulls/691/commits","review_comments_url":"https://api.github.com/repos/simpeg/simpeg/pulls/691/comments","review_comment_url":"https://api.github.com/repos/simpeg/simpeg/pulls/comments{/number}","comments_url":"https://api.github.com/repos/simpeg/simpeg/issues/691/comments","statuses_url":"https://api.github.com/repos/simpeg/simpeg/statuses/4cb2eca47c374eebb570a77de21228d4722c7edb","head":{"label":"simpeg:ref/em_mass_matrices","ref":"ref/em_mass_matrices","sha":"4cb2eca47c374eebb570a77de21228d4722c7edb","user":{"login":"simpeg","id":6043842,"avatar_url":"https://avatars2.githubusercontent.com/u/6043842?v=4","gravatar_id":"","url":"https://api.github.com/users/simpeg","html_url":"https://github.com/simpeg","followers_url":"https://api.github.com/users/simpeg/followers","following_url":"https://api.github.com/users/simpeg/following{/other_user}","gists_url":"https://api.github.com/users/simpeg/gists{/gist_id}","starred_url":"https://api.github.com/users/simpeg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/simpeg/subscriptions","organizations_url":"https://api.github.com/users/simpeg/orgs","repos_url":"https://api.github.com/users/simpeg/repos","events_url":"https://api.github.com/users/simpeg/events{/privacy}","received_events_url":"https://api.github.com/users/simpeg/received_events","type":"Organization","site_admin":false},"repo":{"id":14727320,"name":"simpeg","full_name":"simpeg/simpeg","owner":{"login":"simpeg","id":6043842,"avatar_url":"https://avatars2.githubusercontent.com/u/6043842?v=4","gravatar_id":"","url":"https://api.github.com/users/simpeg","html_url":"https://github.com/simpeg","followers_url":"https://api.github.com/users/simpeg/followers","following_url":"https://api.github.com/users/simpeg/following{/other_user}","gists_url":"https://api.github.com/users/simpeg/gists{/gist_id}","starred_url":"https://api.github.com/users/simpeg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/simpeg/subscriptions","organizations_url":"https://api.github.com/users/simpeg/orgs","repos_url":"https://api.github.com/users/simpeg/repos","events_url":"https://api.github.com/users/simpeg/events{/privacy}","received_events_url":"https://api.github.com/users/simpeg/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/simpeg/simpeg","description":"Simulation and Parameter Estimation in Geophysics  -  A python package for simulation and gradient based parameter estimation in the context of geophysical applications.","fork":false,"url":"https://api.github.com/repos/simpeg/simpeg","forks_url":"https://api.github.com/repos/simpeg/simpeg/forks","keys_url":"https://api.github.com/repos/simpeg/simpeg/keys{/key_id}","collaborators_url":"https://api.github.com/repos/simpeg/simpeg/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/simpeg/simpeg/teams","hooks_url":"https://api.github.com/repos/simpeg/simpeg/hooks","issue_events_url":"https://api.github.com/repos/simpeg/simpeg/issues/events{/number}","events_url":"https://api.github.com/repos/simpeg/simpeg/events","assignees_url":"https://api.github.com/repos/simpeg/simpeg/assignees{/user}","branches_url":"https://api.github.com/repos/simpeg/simpeg/branches{/branch}","tags_url":"https://api.github.com/repos/simpeg/simpeg/tags","blobs_url":"https://api.github.com/repos/simpeg/simpeg/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/simpeg/simpeg/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/simpeg/simpeg/git/refs{/sha}","trees_url":"https://api.github.com/repos/simpeg/simpeg/git/trees{/sha}","statuses_url":"https://api.github.com/repos/simpeg/simpeg/statuses/{sha}","languages_url":"https://api.github.com/repos/simpeg/simpeg/languages","stargazers_url":"https://api.github.com/repos/simpeg/simpeg/stargazers","contributors_url":"https://api.github.com/repos/simpeg/simpeg/contributors","subscribers_url":"https://api.github.com/repos/simpeg/simpeg/subscribers","subscription_url":"https://api.github.com/repos/simpeg/simpeg/subscription","commits_url":"https://api.github.com/repos/simpeg/simpeg/commits{/sha}","git_commits_url":"https://api.github.com/repos/simpeg/simpeg/git/commits{/sha}","comments_url":"https://api.github.com/repos/simpeg/simpeg/comments{/number}","issue_comment_url":"https://api.github.com/repos/simpeg/simpeg/issues/comments{/number}","contents_url":"https://api.github.com/repos/simpeg/simpeg/contents/{+path}","compare_url":"https://api.github.com/repos/simpeg/simpeg/compare/{base}...{head}","merges_url":"https://api.github.com/repos/simpeg/simpeg/merges","archive_url":"https://api.github.com/repos/simpeg/simpeg/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/simpeg/simpeg/downloads","issues_url":"https://api.github.com/repos/simpeg/simpeg/issues{/number}","pulls_url":"https://api.github.com/repos/simpeg/simpeg/pulls{/number}","milestones_url":"https://api.github.com/repos/simpeg/simpeg/milestones{/number}","notifications_url":"https://api.github.com/repos/simpeg/simpeg/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/simpeg/simpeg/labels{/name}","releases_url":"https://api.github.com/repos/simpeg/simpeg/releases{/id}","deployments_url":"https://api.github.com/repos/simpeg/simpeg/deployments","created_at":"2013-11-26T19:46:36Z","updated_at":"2018-04-16T16:45:37Z","pushed_at":"2018-04-19T20:34:13Z","git_url":"git://github.com/simpeg/simpeg.git","ssh_url":"git@github.com:simpeg/simpeg.git","clone_url":"https://github.com/simpeg/simpeg.git","svn_url":"https://github.com/simpeg/simpeg","homepage":"http://simpeg.xyz","size":70367,"stargazers_count":85,"watchers_count":85,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":50,"mirror_url":null,"archived":false,"open_issues_count":94,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":50,"open_issues":94,"watchers":85,"default_branch":"master"}},"base":{"label":"simpeg:master","ref":"master","sha":"bbb39d43b1718d2511fe380e088bbba5327e2306","user":{"login":"simpeg","id":6043842,"avatar_url":"https://avatars2.githubusercontent.com/u/6043842?v=4","gravatar_id":"","url":"https://api.github.com/users/simpeg","html_url":"https://github.com/simpeg","followers_url":"https://api.github.com/users/simpeg/followers","following_url":"https://api.github.com/users/simpeg/following{/other_user}","gists_url":"https://api.github.com/users/simpeg/gists{/gist_id}","starred_url":"https://api.github.com/users/simpeg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/simpeg/subscriptions","organizations_url":"https://api.github.com/users/simpeg/orgs","repos_url":"https://api.github.com/users/simpeg/repos","events_url":"https://api.github.com/users/simpeg/events{/privacy}","received_events_url":"https://api.github.com/users/simpeg/received_events","type":"Organization","site_admin":false},"repo":{"id":14727320,"name":"simpeg","full_name":"simpeg/simpeg","owner":{"login":"simpeg","id":6043842,"avatar_url":"https://avatars2.githubusercontent.com/u/6043842?v=4","gravatar_id":"","url":"https://api.github.com/users/simpeg","html_url":"https://github.com/simpeg","followers_url":"https://api.github.com/users/simpeg/followers","following_url":"https://api.github.com/users/simpeg/following{/other_user}","gists_url":"https://api.github.com/users/simpeg/gists{/gist_id}","starred_url":"https://api.github.com/users/simpeg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/simpeg/subscriptions","organizations_url":"https://api.github.com/users/simpeg/orgs","repos_url":"https://api.github.com/users/simpeg/repos","events_url":"https://api.github.com/users/simpeg/events{/privacy}","received_events_url":"https://api.github.com/users/simpeg/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/simpeg/simpeg","description":"Simulation and Parameter Estimation in Geophysics  -  A python package for simulation and gradient based parameter estimation in the context of geophysical applications.","fork":false,"url":"https://api.github.com/repos/simpeg/simpeg","forks_url":"https://api.github.com/repos/simpeg/simpeg/forks","keys_url":"https://api.github.com/repos/simpeg/simpeg/keys{/key_id}","collaborators_url":"https://api.github.com/repos/simpeg/simpeg/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/simpeg/simpeg/teams","hooks_url":"https://api.github.com/repos/simpeg/simpeg/hooks","issue_events_url":"https://api.github.com/repos/simpeg/simpeg/issues/events{/number}","events_url":"https://api.github.com/repos/simpeg/simpeg/events","assignees_url":"https://api.github.com/repos/simpeg/simpeg/assignees{/user}","branches_url":"https://api.github.com/repos/simpeg/simpeg/branches{/branch}","tags_url":"https://api.github.com/repos/simpeg/simpeg/tags","blobs_url":"https://api.github.com/repos/simpeg/simpeg/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/simpeg/simpeg/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/simpeg/simpeg/git/refs{/sha}","trees_url":"https://api.github.com/repos/simpeg/simpeg/git/trees{/sha}","statuses_url":"https://api.github.com/repos/simpeg/simpeg/statuses/{sha}","languages_url":"https://api.github.com/repos/simpeg/simpeg/languages","stargazers_url":"https://api.github.com/repos/simpeg/simpeg/stargazers","contributors_url":"https://api.github.com/repos/simpeg/simpeg/contributors","subscribers_url":"https://api.github.com/repos/simpeg/simpeg/subscribers","subscription_url":"https://api.github.com/repos/simpeg/simpeg/subscription","commits_url":"https://api.github.com/repos/simpeg/simpeg/commits{/sha}","git_commits_url":"https://api.github.com/repos/simpeg/simpeg/git/commits{/sha}","comments_url":"https://api.github.com/repos/simpeg/simpeg/comments{/number}","issue_comment_url":"https://api.github.com/repos/simpeg/simpeg/issues/comments{/number}","contents_url":"https://api.github.com/repos/simpeg/simpeg/contents/{+path}","compare_url":"https://api.github.com/repos/simpeg/simpeg/compare/{base}...{head}","merges_url":"https://api.github.com/repos/simpeg/simpeg/merges","archive_url":"https://api.github.com/repos/simpeg/simpeg/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/simpeg/simpeg/downloads","issues_url":"https://api.github.com/repos/simpeg/simpeg/issues{/number}","pulls_url":"https://api.github.com/repos/simpeg/simpeg/pulls{/number}","milestones_url":"https://api.github.com/repos/simpeg/simpeg/milestones{/number}","notifications_url":"https://api.github.com/repos/simpeg/simpeg/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/simpeg/simpeg/labels{/name}","releases_url":"https://api.github.com/repos/simpeg/simpeg/releases{/id}","deployments_url":"https://api.github.com/repos/simpeg/simpeg/deployments","created_at":"2013-11-26T19:46:36Z","updated_at":"2018-04-16T16:45:37Z","pushed_at":"2018-04-19T20:34:13Z","git_url":"git://github.com/simpeg/simpeg.git","ssh_url":"git@github.com:simpeg/simpeg.git","clone_url":"https://github.com/simpeg/simpeg.git","svn_url":"https://github.com/simpeg/simpeg","homepage":"http://simpeg.xyz","size":70367,"stargazers_count":85,"watchers_count":85,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":50,"mirror_url":null,"archived":false,"open_issues_count":94,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":50,"open_issues":94,"watchers":85,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/simpeg/simpeg/pulls/691"},"html":{"href":"https://github.com/simpeg/simpeg/pull/691"},"issue":{"href":"https://api.github.com/repos/simpeg/simpeg/issues/691"},"comments":{"href":"https://api.github.com/repos/simpeg/simpeg/issues/691/comments"},"review_comments":{"href":"https://api.github.com/repos/simpeg/simpeg/pulls/691/comments"},"review_comment":{"href":"https://api.github.com/repos/simpeg/simpeg/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/simpeg/simpeg/pulls/691/commits"},"statuses":{"href":"https://api.github.com/repos/simpeg/simpeg/statuses/4cb2eca47c374eebb570a77de21228d4722c7edb"}},"author_association":"OWNER"}}
{"actor":{"display_login":"lheagy"}}