{"action":"closed","number":21,"pull_request":{"url":"https://api.github.com/repos/gelever/smoothG/pulls/21","id":204196104,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA0MTk2MTA0","html_url":"https://github.com/gelever/smoothG/pull/21","diff_url":"https://github.com/gelever/smoothG/pull/21.diff","patch_url":"https://github.com/gelever/smoothG/pull/21.patch","issue_url":"https://api.github.com/repos/gelever/smoothG/issues/21","number":21,"state":"closed","locked":false,"title":"Implement some suggestions from Chak","user":{"login":"gelever","id":13111488,"node_id":"MDQ6VXNlcjEzMTExNDg4","avatar_url":"https://avatars2.githubusercontent.com/u/13111488?v=4","gravatar_id":"","url":"https://api.github.com/users/gelever","html_url":"https://github.com/gelever","followers_url":"https://api.github.com/users/gelever/followers","following_url":"https://api.github.com/users/gelever/following{/other_user}","gists_url":"https://api.github.com/users/gelever/gists{/gist_id}","starred_url":"https://api.github.com/users/gelever/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gelever/subscriptions","organizations_url":"https://api.github.com/users/gelever/orgs","repos_url":"https://api.github.com/users/gelever/repos","events_url":"https://api.github.com/users/gelever/events{/privacy}","received_events_url":"https://api.github.com/users/gelever/received_events","type":"User","site_admin":false},"body":"Implement some of @chakshinglee suggestions from https://github.com/LLNL/smoothG/pull/23\r\n\r\n### TODO:\r\n#### More Trivial:\r\n- [ ] Simplify `GraphEdgeSolver::Mult` to include offset\r\n- [ ] Create `OffsetMult` in `linalgcpp::Operator`\r\n- [ ] Factor out `edge_edge_` from `Graph` if no longer needed\r\n- [ ] Rename / move(?) `W_local_` to something more descriptive\r\n- [ ] Consistent names for graph relationships. `face_int_agg_edge`, etc\r\n- [ ] Rename `BuildEdgeTrueEdge` in `GraphCoarsen` to dofs and variable names inside\r\n#### Less Trivial:\r\n- [ ] Consistent elim edge dofs for all solvers  (or remove elim edge dofs altogether (or deal with boundary conditions in general))\r\n- [ ] Refactor `ToPrimal` to support use in `Minres` and `SPD` solvers.\r\n- [ ] Option to clear `GraphCoarsen` memory (?) (vertex/edge targets, move face_cdof_ after use, etc)\r\n- [ ] Multilevel assemble element matrices with potentials instead of local RAP\r\n\r\n### Tentatively DONE:\r\n- [x] Create `Mult(Matrix, Matrix, Matrix)` and `Mult(ParMatrix, ParMatrix, ParMatrix)` to avoid transpose in `RAP`\r\n- [x] `RemoveLargeEntries` instead of `RestrictInterior`\r\n- [ ] Remove unused code\r\n    - [x] `agg_agg_diag` in `GraphTopology.cpp`\r\n    - [x] `edge_vertex` in `MixedMatrix.cpp`\r\n    - [x] `permute_v_T` in `GraphCoarsen.cpp`\r\n    - [x] remove scope for `smoothg::Orthogonalize` in `GraphCoarsen.cpp`\r\n    - [x] `GetFaceCDof` in `MixedMatrix.hpp`\r\n    - [x] `num_true_dofs` in `GraphCoarsen.cpp`\r\n    - [x] `ExtractSubMatrix`, ~`Add`~, `AssembleElemMat`, and `MultScalarVVt` in `Utilities`\r\n`GraphSpace`, etc)\r\n- [x] `std::isfinite` check for weights\r\n- [x] Refactor `AssembleM` to use default weight of `1.0`\r\n- [x] Correct documentation for `GraphGenerator`\r\n- [ ] Assert conditions necessary for correct run:\r\n    - [x]  `edge_traces >= 1` in `GraphCoarsen.cpp`\r\n- [x] Fix check of matrix sizes in `HybridSolver.cpp`\r\n- [x] Implement `ComputeScaledHybridSystem` in `HybridSolver`\r\n- [x] Remove unused include in `GraphEdgeSolver.cpp`\r\n- [x] Remove `edge_map_` `Graph.?pp` and associated `ReadEdge*` functions\r\n- [x] Structure graph/dof relationships and rename them appropriately (`vertex_edgedof`, `GraphSpace`, etc)\r\n- [x] Add partitioning options (weighted, isolated, etc)\r\n- [ ] ~~~Factor out building `multiplier_d_td_` in `HybridSolver.cpp`~~~\r\n","created_at":"2018-07-26T16:20:06Z","updated_at":"2018-08-29T15:50:49Z","closed_at":"2018-08-29T15:50:48Z","merged_at":"2018-08-29T15:50:48Z","merge_commit_sha":"7ff07a4be8ba9c1117f87686d848ef6bc7c7ba2f","assignee":{"login":"gelever","id":13111488,"node_id":"MDQ6VXNlcjEzMTExNDg4","avatar_url":"https://avatars2.githubusercontent.com/u/13111488?v=4","gravatar_id":"","url":"https://api.github.com/users/gelever","html_url":"https://github.com/gelever","followers_url":"https://api.github.com/users/gelever/followers","following_url":"https://api.github.com/users/gelever/following{/other_user}","gists_url":"https://api.github.com/users/gelever/gists{/gist_id}","starred_url":"https://api.github.com/users/gelever/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gelever/subscriptions","organizations_url":"https://api.github.com/users/gelever/orgs","repos_url":"https://api.github.com/users/gelever/repos","events_url":"https://api.github.com/users/gelever/events{/privacy}","received_events_url":"https://api.github.com/users/gelever/received_events","type":"User","site_admin":false},"assignees":[{"login":"gelever","id":13111488,"node_id":"MDQ6VXNlcjEzMTExNDg4","avatar_url":"https://avatars2.githubusercontent.com/u/13111488?v=4","gravatar_id":"","url":"https://api.github.com/users/gelever","html_url":"https://github.com/gelever","followers_url":"https://api.github.com/users/gelever/followers","following_url":"https://api.github.com/users/gelever/following{/other_user}","gists_url":"https://api.github.com/users/gelever/gists{/gist_id}","starred_url":"https://api.github.com/users/gelever/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gelever/subscriptions","organizations_url":"https://api.github.com/users/gelever/orgs","repos_url":"https://api.github.com/users/gelever/repos","events_url":"https://api.github.com/users/gelever/events{/privacy}","received_events_url":"https://api.github.com/users/gelever/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":827103335,"node_id":"MDU6TGFiZWw4MjcxMDMzMzU=","url":"https://api.github.com/repos/gelever/smoothG/labels/bug","name":"bug","color":"d73a4a","default":true},{"id":827103338,"node_id":"MDU6TGFiZWw4MjcxMDMzMzg=","url":"https://api.github.com/repos/gelever/smoothG/labels/enhancement","name":"enhancement","color":"a2eeef","default":true}],"milestone":null,"commits_url":"https://api.github.com/repos/gelever/smoothG/pulls/21/commits","review_comments_url":"https://api.github.com/repos/gelever/smoothG/pulls/21/comments","review_comment_url":"https://api.github.com/repos/gelever/smoothG/pulls/comments{/number}","comments_url":"https://api.github.com/repos/gelever/smoothG/issues/21/comments","statuses_url":"https://api.github.com/repos/gelever/smoothG/statuses/cd4140fb6dc2c6952a31af8d9159431814b753fd","head":{"label":"gelever:feedback-dev","ref":"feedback-dev","sha":"cd4140fb6dc2c6952a31af8d9159431814b753fd","user":{"login":"gelever","id":13111488,"node_id":"MDQ6VXNlcjEzMTExNDg4","avatar_url":"https://avatars2.githubusercontent.com/u/13111488?v=4","gravatar_id":"","url":"https://api.github.com/users/gelever","html_url":"https://github.com/gelever","followers_url":"https://api.github.com/users/gelever/followers","following_url":"https://api.github.com/users/gelever/following{/other_user}","gists_url":"https://api.github.com/users/gelever/gists{/gist_id}","starred_url":"https://api.github.com/users/gelever/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gelever/subscriptions","organizations_url":"https://api.github.com/users/gelever/orgs","repos_url":"https://api.github.com/users/gelever/repos","events_url":"https://api.github.com/users/gelever/events{/privacy}","received_events_url":"https://api.github.com/users/gelever/received_events","type":"User","site_admin":false},"repo":{"id":120257698,"node_id":"MDEwOlJlcG9zaXRvcnkxMjAyNTc2OTg=","name":"smoothG","full_name":"gelever/smoothG","owner":{"login":"gelever","id":13111488,"node_id":"MDQ6VXNlcjEzMTExNDg4","avatar_url":"https://avatars2.githubusercontent.com/u/13111488?v=4","gravatar_id":"","url":"https://api.github.com/users/gelever","html_url":"https://github.com/gelever","followers_url":"https://api.github.com/users/gelever/followers","following_url":"https://api.github.com/users/gelever/following{/other_user}","gists_url":"https://api.github.com/users/gelever/gists{/gist_id}","starred_url":"https://api.github.com/users/gelever/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gelever/subscriptions","organizations_url":"https://api.github.com/users/gelever/orgs","repos_url":"https://api.github.com/users/gelever/repos","events_url":"https://api.github.com/users/gelever/events{/privacy}","received_events_url":"https://api.github.com/users/gelever/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/gelever/smoothG","description":"Mixed graph Laplacian upscaling and solvers","fork":true,"url":"https://api.github.com/repos/gelever/smoothG","forks_url":"https://api.github.com/repos/gelever/smoothG/forks","keys_url":"https://api.github.com/repos/gelever/smoothG/keys{/key_id}","collaborators_url":"https://api.github.com/repos/gelever/smoothG/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/gelever/smoothG/teams","hooks_url":"https://api.github.com/repos/gelever/smoothG/hooks","issue_events_url":"https://api.github.com/repos/gelever/smoothG/issues/events{/number}","events_url":"https://api.github.com/repos/gelever/smoothG/events","assignees_url":"https://api.github.com/repos/gelever/smoothG/assignees{/user}","branches_url":"https://api.github.com/repos/gelever/smoothG/branches{/branch}","tags_url":"https://api.github.com/repos/gelever/smoothG/tags","blobs_url":"https://api.github.com/repos/gelever/smoothG/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/gelever/smoothG/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/gelever/smoothG/git/refs{/sha}","trees_url":"https://api.github.com/repos/gelever/smoothG/git/trees{/sha}","statuses_url":"https://api.github.com/repos/gelever/smoothG/statuses/{sha}","languages_url":"https://api.github.com/repos/gelever/smoothG/languages","stargazers_url":"https://api.github.com/repos/gelever/smoothG/stargazers","contributors_url":"https://api.github.com/repos/gelever/smoothG/contributors","subscribers_url":"https://api.github.com/repos/gelever/smoothG/subscribers","subscription_url":"https://api.github.com/repos/gelever/smoothG/subscription","commits_url":"https://api.github.com/repos/gelever/smoothG/commits{/sha}","git_commits_url":"https://api.github.com/repos/gelever/smoothG/git/commits{/sha}","comments_url":"https://api.github.com/repos/gelever/smoothG/comments{/number}","issue_comment_url":"https://api.github.com/repos/gelever/smoothG/issues/comments{/number}","contents_url":"https://api.github.com/repos/gelever/smoothG/contents/{+path}","compare_url":"https://api.github.com/repos/gelever/smoothG/compare/{base}...{head}","merges_url":"https://api.github.com/repos/gelever/smoothG/merges","archive_url":"https://api.github.com/repos/gelever/smoothG/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/gelever/smoothG/downloads","issues_url":"https://api.github.com/repos/gelever/smoothG/issues{/number}","pulls_url":"https://api.github.com/repos/gelever/smoothG/pulls{/number}","milestones_url":"https://api.github.com/repos/gelever/smoothG/milestones{/number}","notifications_url":"https://api.github.com/repos/gelever/smoothG/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/gelever/smoothG/labels{/name}","releases_url":"https://api.github.com/repos/gelever/smoothG/releases{/id}","deployments_url":"https://api.github.com/repos/gelever/smoothG/deployments","created_at":"2018-02-05T05:09:16Z","updated_at":"2018-05-01T23:38:18Z","pushed_at":"2018-08-29T15:50:49Z","git_url":"git://github.com/gelever/smoothG.git","ssh_url":"git@github.com:gelever/smoothG.git","clone_url":"https://github.com/gelever/smoothG.git","svn_url":"https://github.com/gelever/smoothG","homepage":"","size":998,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":4,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":4,"watchers":0,"default_branch":"master"}},"base":{"label":"gelever:projector-dev","ref":"projector-dev","sha":"95db4b68779ff4a7a750475bac19cdfddc6a3dd6","user":{"login":"gelever","id":13111488,"node_id":"MDQ6VXNlcjEzMTExNDg4","avatar_url":"https://avatars2.githubusercontent.com/u/13111488?v=4","gravatar_id":"","url":"https://api.github.com/users/gelever","html_url":"https://github.com/gelever","followers_url":"https://api.github.com/users/gelever/followers","following_url":"https://api.github.com/users/gelever/following{/other_user}","gists_url":"https://api.github.com/users/gelever/gists{/gist_id}","starred_url":"https://api.github.com/users/gelever/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gelever/subscriptions","organizations_url":"https://api.github.com/users/gelever/orgs","repos_url":"https://api.github.com/users/gelever/repos","events_url":"https://api.github.com/users/gelever/events{/privacy}","received_events_url":"https://api.github.com/users/gelever/received_events","type":"User","site_admin":false},"repo":{"id":120257698,"node_id":"MDEwOlJlcG9zaXRvcnkxMjAyNTc2OTg=","name":"smoothG","full_name":"gelever/smoothG","owner":{"login":"gelever","id":13111488,"node_id":"MDQ6VXNlcjEzMTExNDg4","avatar_url":"https://avatars2.githubusercontent.com/u/13111488?v=4","gravatar_id":"","url":"https://api.github.com/users/gelever","html_url":"https://github.com/gelever","followers_url":"https://api.github.com/users/gelever/followers","following_url":"https://api.github.com/users/gelever/following{/other_user}","gists_url":"https://api.github.com/users/gelever/gists{/gist_id}","starred_url":"https://api.github.com/users/gelever/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gelever/subscriptions","organizations_url":"https://api.github.com/users/gelever/orgs","repos_url":"https://api.github.com/users/gelever/repos","events_url":"https://api.github.com/users/gelever/events{/privacy}","received_events_url":"https://api.github.com/users/gelever/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/gelever/smoothG","description":"Mixed graph Laplacian upscaling and solvers","fork":true,"url":"https://api.github.com/repos/gelever/smoothG","forks_url":"https://api.github.com/repos/gelever/smoothG/forks","keys_url":"https://api.github.com/repos/gelever/smoothG/keys{/key_id}","collaborators_url":"https://api.github.com/repos/gelever/smoothG/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/gelever/smoothG/teams","hooks_url":"https://api.github.com/repos/gelever/smoothG/hooks","issue_events_url":"https://api.github.com/repos/gelever/smoothG/issues/events{/number}","events_url":"https://api.github.com/repos/gelever/smoothG/events","assignees_url":"https://api.github.com/repos/gelever/smoothG/assignees{/user}","branches_url":"https://api.github.com/repos/gelever/smoothG/branches{/branch}","tags_url":"https://api.github.com/repos/gelever/smoothG/tags","blobs_url":"https://api.github.com/repos/gelever/smoothG/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/gelever/smoothG/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/gelever/smoothG/git/refs{/sha}","trees_url":"https://api.github.com/repos/gelever/smoothG/git/trees{/sha}","statuses_url":"https://api.github.com/repos/gelever/smoothG/statuses/{sha}","languages_url":"https://api.github.com/repos/gelever/smoothG/languages","stargazers_url":"https://api.github.com/repos/gelever/smoothG/stargazers","contributors_url":"https://api.github.com/repos/gelever/smoothG/contributors","subscribers_url":"https://api.github.com/repos/gelever/smoothG/subscribers","subscription_url":"https://api.github.com/repos/gelever/smoothG/subscription","commits_url":"https://api.github.com/repos/gelever/smoothG/commits{/sha}","git_commits_url":"https://api.github.com/repos/gelever/smoothG/git/commits{/sha}","comments_url":"https://api.github.com/repos/gelever/smoothG/comments{/number}","issue_comment_url":"https://api.github.com/repos/gelever/smoothG/issues/comments{/number}","contents_url":"https://api.github.com/repos/gelever/smoothG/contents/{+path}","compare_url":"https://api.github.com/repos/gelever/smoothG/compare/{base}...{head}","merges_url":"https://api.github.com/repos/gelever/smoothG/merges","archive_url":"https://api.github.com/repos/gelever/smoothG/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/gelever/smoothG/downloads","issues_url":"https://api.github.com/repos/gelever/smoothG/issues{/number}","pulls_url":"https://api.github.com/repos/gelever/smoothG/pulls{/number}","milestones_url":"https://api.github.com/repos/gelever/smoothG/milestones{/number}","notifications_url":"https://api.github.com/repos/gelever/smoothG/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/gelever/smoothG/labels{/name}","releases_url":"https://api.github.com/repos/gelever/smoothG/releases{/id}","deployments_url":"https://api.github.com/repos/gelever/smoothG/deployments","created_at":"2018-02-05T05:09:16Z","updated_at":"2018-05-01T23:38:18Z","pushed_at":"2018-08-29T15:50:49Z","git_url":"git://github.com/gelever/smoothG.git","ssh_url":"git@github.com:gelever/smoothG.git","clone_url":"https://github.com/gelever/smoothG.git","svn_url":"https://github.com/gelever/smoothG","homepage":"","size":998,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":4,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":4,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/gelever/smoothG/pulls/21"},"html":{"href":"https://github.com/gelever/smoothG/pull/21"},"issue":{"href":"https://api.github.com/repos/gelever/smoothG/issues/21"},"comments":{"href":"https://api.github.com/repos/gelever/smoothG/issues/21/comments"},"review_comments":{"href":"https://api.github.com/repos/gelever/smoothG/pulls/21/comments"},"review_comment":{"href":"https://api.github.com/repos/gelever/smoothG/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/gelever/smoothG/pulls/21/commits"},"statuses":{"href":"https://api.github.com/repos/gelever/smoothG/statuses/cd4140fb6dc2c6952a31af8d9159431814b753fd"}},"author_association":"OWNER","merged":true,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":{"login":"gelever","id":13111488,"node_id":"MDQ6VXNlcjEzMTExNDg4","avatar_url":"https://avatars2.githubusercontent.com/u/13111488?v=4","gravatar_id":"","url":"https://api.github.com/users/gelever","html_url":"https://github.com/gelever","followers_url":"https://api.github.com/users/gelever/followers","following_url":"https://api.github.com/users/gelever/following{/other_user}","gists_url":"https://api.github.com/users/gelever/gists{/gist_id}","starred_url":"https://api.github.com/users/gelever/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gelever/subscriptions","organizations_url":"https://api.github.com/users/gelever/orgs","repos_url":"https://api.github.com/users/gelever/repos","events_url":"https://api.github.com/users/gelever/events{/privacy}","received_events_url":"https://api.github.com/users/gelever/received_events","type":"User","site_admin":false},"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":16,"additions":956,"deletions":786,"changed_files":32}}
{"actor":{"display_login":"gelever"}}