{"action":"created","comment":{"url":"https://api.github.com/repos/dealii/dealii/pulls/comments/72386355","id":72386355,"diff_hunk":"@@ -139,13 +157,20 @@ class ArpackSolver : public Subscriptor\n \n   /**\n    * Solve the generalized eigensprectrum problem $A x=\\lambda B x$ by calling\n-   * the <code>dneupd</code> and <code>dnaupd</code> functions of ARPACK.\n+   * the <code>dsaupd</code> and <code>dseupd</code> or\n+   * <code>dnaupd</code> and <code>dneupd</code> functions of ARPACK.\n    *\n    * The function returns a vector of eigenvalues of length <i>n</i> and a\n-   * vector of eigenvectors, where the latter should be twice the size of the\n-   * eigenvalue vector. The first <i>n</i> vectors in\n-   * <code>eigenvectors</code> will be the real parts of the eigenvectors, the\n-   * second <i>n</i> the imaginary parts.\n+   * vector of eigenvectors of length <i>n</i> in the symmetric case\n+   * and of length <i>n+1<i> in the non-symmetric case. In the symmetric case","path":"include/deal.II/lac/arpack_solver.h","position":92,"original_position":92,"commit_id":"44b586cc8b1ce91ed66b970a43f71ab47d46c523","original_commit_id":"44b586cc8b1ce91ed66b970a43f71ab47d46c523","user":{"login":"davydden","id":8023934,"avatar_url":"https://avatars.githubusercontent.com/u/8023934?v=3","gravatar_id":"","url":"https://api.github.com/users/davydden","html_url":"https://github.com/davydden","followers_url":"https://api.github.com/users/davydden/followers","following_url":"https://api.github.com/users/davydden/following{/other_user}","gists_url":"https://api.github.com/users/davydden/gists{/gist_id}","starred_url":"https://api.github.com/users/davydden/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davydden/subscriptions","organizations_url":"https://api.github.com/users/davydden/orgs","repos_url":"https://api.github.com/users/davydden/repos","events_url":"https://api.github.com/users/davydden/events{/privacy}","received_events_url":"https://api.github.com/users/davydden/received_events","type":"User","site_admin":false},"body":"i see you point. Do you have in mind any test which could show this?","created_at":"2016-07-27T06:25:24Z","updated_at":"2016-07-27T06:25:24Z","html_url":"https://github.com/dealii/dealii/pull/2871#discussion_r72386355","pull_request_url":"https://api.github.com/repos/dealii/dealii/pulls/2871","_links":{"self":{"href":"https://api.github.com/repos/dealii/dealii/pulls/comments/72386355"},"html":{"href":"https://github.com/dealii/dealii/pull/2871#discussion_r72386355"},"pull_request":{"href":"https://api.github.com/repos/dealii/dealii/pulls/2871"}}},"pull_request":{"url":"https://api.github.com/repos/dealii/dealii/pulls/2871","id":78936137,"html_url":"https://github.com/dealii/dealii/pull/2871","diff_url":"https://github.com/dealii/dealii/pull/2871.diff","patch_url":"https://github.com/dealii/dealii/pull/2871.patch","issue_url":"https://api.github.com/repos/dealii/dealii/issues/2871","number":2871,"state":"open","locked":false,"title":"fix (p)arpack interface for non symmetric matrices","user":{"login":"jgedicke","id":17573616,"avatar_url":"https://avatars.githubusercontent.com/u/17573616?v=3","gravatar_id":"","url":"https://api.github.com/users/jgedicke","html_url":"https://github.com/jgedicke","followers_url":"https://api.github.com/users/jgedicke/followers","following_url":"https://api.github.com/users/jgedicke/following{/other_user}","gists_url":"https://api.github.com/users/jgedicke/gists{/gist_id}","starred_url":"https://api.github.com/users/jgedicke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jgedicke/subscriptions","organizations_url":"https://api.github.com/users/jgedicke/orgs","repos_url":"https://api.github.com/users/jgedicke/repos","events_url":"https://api.github.com/users/jgedicke/events{/privacy}","received_events_url":"https://api.github.com/users/jgedicke/received_events","type":"User","site_admin":false},"body":"This pull request is a follow up of PR #759 and is related to issue  #1156.\r\nThe issue addressed with this PR is that the (P)ARPACK interface was not working correctly for non-symmetric matrices.\r\nTests with a advection-diffusion matrix revealed that despite PR #759  the Schur vectors and not the eigenvectors were returned. The point to make here is that for symmetric matrices the Schur vectors are also eigenvectors, thus in that case we want those since they are also orthonormal (the Arnoldi-eigenvectors corresponding to a multiple eigenvalue are not necessary orthogonal). In the non-symmetric case taking the Schur vectors is wrong, there we have to take the eigenvectors which of cause are not orthogonal in general.\r\nTo distinguish these two cases I did include the `AdditionalData::symmetric` to indicate which case we have and took that also as motivation to implement a switch to the symmetric arpack interface (dsaupd/dseupd) as in PARPACK.\r\nThe second problem occurred while doing multiple tests. In the case of a complex conjugate eigenpair, arpack always considers those together. Hence when the n-th eigenvalue is the first of such a pair, arpack wants to also include the second one, thus we need to be able to store n+1 eigenvalues in the arrays for the second dneupd/dseupd interface.\r\nThe third problem concerns the way arpack stores complex eigenvectors, namely as real vectors in a n+1 array. This is now described correctly in the documentation. Hence we have to check the length of the eigenvectors to be at least n in the symmetric case and n+1 in the non-symmetric case.\r\nSome of these bugs also occurred in PARPACK and are now fixed there too.\r\nThe new tests confirm that all computed vectors for the advection-diffussion problem are actually eigenvectors and that they are mass-normal. Moreover the interface does not crash anymore whenever we cut a complex conjugate pair with the requested number of eigenvalues (which is the case in the tests).\r\nAlso the correct numbers of eigenvectors are returned (namely `nev` many, note that the arpack interface increases nev by one if necessary in the non-symmetric case).","created_at":"2016-07-26T22:22:31Z","updated_at":"2016-07-27T06:25:24Z","closed_at":null,"merged_at":null,"merge_commit_sha":"a18ceec89abc0d4ce96323a13c5cbcc8a0daf6d4","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/dealii/dealii/pulls/2871/commits","review_comments_url":"https://api.github.com/repos/dealii/dealii/pulls/2871/comments","review_comment_url":"https://api.github.com/repos/dealii/dealii/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dealii/dealii/issues/2871/comments","statuses_url":"https://api.github.com/repos/dealii/dealii/statuses/44b586cc8b1ce91ed66b970a43f71ab47d46c523","head":{"label":"jgedicke:arpack","ref":"arpack","sha":"44b586cc8b1ce91ed66b970a43f71ab47d46c523","user":{"login":"jgedicke","id":17573616,"avatar_url":"https://avatars.githubusercontent.com/u/17573616?v=3","gravatar_id":"","url":"https://api.github.com/users/jgedicke","html_url":"https://github.com/jgedicke","followers_url":"https://api.github.com/users/jgedicke/followers","following_url":"https://api.github.com/users/jgedicke/following{/other_user}","gists_url":"https://api.github.com/users/jgedicke/gists{/gist_id}","starred_url":"https://api.github.com/users/jgedicke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jgedicke/subscriptions","organizations_url":"https://api.github.com/users/jgedicke/orgs","repos_url":"https://api.github.com/users/jgedicke/repos","events_url":"https://api.github.com/users/jgedicke/events{/privacy}","received_events_url":"https://api.github.com/users/jgedicke/received_events","type":"User","site_admin":false},"repo":{"id":53057185,"name":"dealii","full_name":"jgedicke/dealii","owner":{"login":"jgedicke","id":17573616,"avatar_url":"https://avatars.githubusercontent.com/u/17573616?v=3","gravatar_id":"","url":"https://api.github.com/users/jgedicke","html_url":"https://github.com/jgedicke","followers_url":"https://api.github.com/users/jgedicke/followers","following_url":"https://api.github.com/users/jgedicke/following{/other_user}","gists_url":"https://api.github.com/users/jgedicke/gists{/gist_id}","starred_url":"https://api.github.com/users/jgedicke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jgedicke/subscriptions","organizations_url":"https://api.github.com/users/jgedicke/orgs","repos_url":"https://api.github.com/users/jgedicke/repos","events_url":"https://api.github.com/users/jgedicke/events{/privacy}","received_events_url":"https://api.github.com/users/jgedicke/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jgedicke/dealii","description":"The development repository for the deal.II finite element library.","fork":true,"url":"https://api.github.com/repos/jgedicke/dealii","forks_url":"https://api.github.com/repos/jgedicke/dealii/forks","keys_url":"https://api.github.com/repos/jgedicke/dealii/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jgedicke/dealii/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jgedicke/dealii/teams","hooks_url":"https://api.github.com/repos/jgedicke/dealii/hooks","issue_events_url":"https://api.github.com/repos/jgedicke/dealii/issues/events{/number}","events_url":"https://api.github.com/repos/jgedicke/dealii/events","assignees_url":"https://api.github.com/repos/jgedicke/dealii/assignees{/user}","branches_url":"https://api.github.com/repos/jgedicke/dealii/branches{/branch}","tags_url":"https://api.github.com/repos/jgedicke/dealii/tags","blobs_url":"https://api.github.com/repos/jgedicke/dealii/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jgedicke/dealii/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jgedicke/dealii/git/refs{/sha}","trees_url":"https://api.github.com/repos/jgedicke/dealii/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jgedicke/dealii/statuses/{sha}","languages_url":"https://api.github.com/repos/jgedicke/dealii/languages","stargazers_url":"https://api.github.com/repos/jgedicke/dealii/stargazers","contributors_url":"https://api.github.com/repos/jgedicke/dealii/contributors","subscribers_url":"https://api.github.com/repos/jgedicke/dealii/subscribers","subscription_url":"https://api.github.com/repos/jgedicke/dealii/subscription","commits_url":"https://api.github.com/repos/jgedicke/dealii/commits{/sha}","git_commits_url":"https://api.github.com/repos/jgedicke/dealii/git/commits{/sha}","comments_url":"https://api.github.com/repos/jgedicke/dealii/comments{/number}","issue_comment_url":"https://api.github.com/repos/jgedicke/dealii/issues/comments{/number}","contents_url":"https://api.github.com/repos/jgedicke/dealii/contents/{+path}","compare_url":"https://api.github.com/repos/jgedicke/dealii/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jgedicke/dealii/merges","archive_url":"https://api.github.com/repos/jgedicke/dealii/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jgedicke/dealii/downloads","issues_url":"https://api.github.com/repos/jgedicke/dealii/issues{/number}","pulls_url":"https://api.github.com/repos/jgedicke/dealii/pulls{/number}","milestones_url":"https://api.github.com/repos/jgedicke/dealii/milestones{/number}","notifications_url":"https://api.github.com/repos/jgedicke/dealii/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jgedicke/dealii/labels{/name}","releases_url":"https://api.github.com/repos/jgedicke/dealii/releases{/id}","deployments_url":"https://api.github.com/repos/jgedicke/dealii/deployments","created_at":"2016-03-03T14:38:13Z","updated_at":"2016-03-03T14:39:23Z","pushed_at":"2016-07-26T22:25:47Z","git_url":"git://github.com/jgedicke/dealii.git","ssh_url":"git@github.com:jgedicke/dealii.git","clone_url":"https://github.com/jgedicke/dealii.git","svn_url":"https://github.com/jgedicke/dealii","homepage":"http://www.dealii.org/","size":142894,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"dealii:master","ref":"master","sha":"ca4515622c7f62944ad4410b93bd3f1f3da3a756","user":{"login":"dealii","id":7506070,"avatar_url":"https://avatars.githubusercontent.com/u/7506070?v=3","gravatar_id":"","url":"https://api.github.com/users/dealii","html_url":"https://github.com/dealii","followers_url":"https://api.github.com/users/dealii/followers","following_url":"https://api.github.com/users/dealii/following{/other_user}","gists_url":"https://api.github.com/users/dealii/gists{/gist_id}","starred_url":"https://api.github.com/users/dealii/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dealii/subscriptions","organizations_url":"https://api.github.com/users/dealii/orgs","repos_url":"https://api.github.com/users/dealii/repos","events_url":"https://api.github.com/users/dealii/events{/privacy}","received_events_url":"https://api.github.com/users/dealii/received_events","type":"Organization","site_admin":false},"repo":{"id":21943980,"name":"dealii","full_name":"dealii/dealii","owner":{"login":"dealii","id":7506070,"avatar_url":"https://avatars.githubusercontent.com/u/7506070?v=3","gravatar_id":"","url":"https://api.github.com/users/dealii","html_url":"https://github.com/dealii","followers_url":"https://api.github.com/users/dealii/followers","following_url":"https://api.github.com/users/dealii/following{/other_user}","gists_url":"https://api.github.com/users/dealii/gists{/gist_id}","starred_url":"https://api.github.com/users/dealii/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dealii/subscriptions","organizations_url":"https://api.github.com/users/dealii/orgs","repos_url":"https://api.github.com/users/dealii/repos","events_url":"https://api.github.com/users/dealii/events{/privacy}","received_events_url":"https://api.github.com/users/dealii/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dealii/dealii","description":"The development repository for the deal.II finite element library.","fork":false,"url":"https://api.github.com/repos/dealii/dealii","forks_url":"https://api.github.com/repos/dealii/dealii/forks","keys_url":"https://api.github.com/repos/dealii/dealii/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dealii/dealii/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dealii/dealii/teams","hooks_url":"https://api.github.com/repos/dealii/dealii/hooks","issue_events_url":"https://api.github.com/repos/dealii/dealii/issues/events{/number}","events_url":"https://api.github.com/repos/dealii/dealii/events","assignees_url":"https://api.github.com/repos/dealii/dealii/assignees{/user}","branches_url":"https://api.github.com/repos/dealii/dealii/branches{/branch}","tags_url":"https://api.github.com/repos/dealii/dealii/tags","blobs_url":"https://api.github.com/repos/dealii/dealii/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dealii/dealii/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dealii/dealii/git/refs{/sha}","trees_url":"https://api.github.com/repos/dealii/dealii/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dealii/dealii/statuses/{sha}","languages_url":"https://api.github.com/repos/dealii/dealii/languages","stargazers_url":"https://api.github.com/repos/dealii/dealii/stargazers","contributors_url":"https://api.github.com/repos/dealii/dealii/contributors","subscribers_url":"https://api.github.com/repos/dealii/dealii/subscribers","subscription_url":"https://api.github.com/repos/dealii/dealii/subscription","commits_url":"https://api.github.com/repos/dealii/dealii/commits{/sha}","git_commits_url":"https://api.github.com/repos/dealii/dealii/git/commits{/sha}","comments_url":"https://api.github.com/repos/dealii/dealii/comments{/number}","issue_comment_url":"https://api.github.com/repos/dealii/dealii/issues/comments{/number}","contents_url":"https://api.github.com/repos/dealii/dealii/contents/{+path}","compare_url":"https://api.github.com/repos/dealii/dealii/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dealii/dealii/merges","archive_url":"https://api.github.com/repos/dealii/dealii/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dealii/dealii/downloads","issues_url":"https://api.github.com/repos/dealii/dealii/issues{/number}","pulls_url":"https://api.github.com/repos/dealii/dealii/pulls{/number}","milestones_url":"https://api.github.com/repos/dealii/dealii/milestones{/number}","notifications_url":"https://api.github.com/repos/dealii/dealii/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dealii/dealii/labels{/name}","releases_url":"https://api.github.com/repos/dealii/dealii/releases{/id}","deployments_url":"https://api.github.com/repos/dealii/dealii/deployments","created_at":"2014-07-17T14:00:26Z","updated_at":"2016-07-18T13:43:04Z","pushed_at":"2016-07-27T05:59:34Z","git_url":"git://github.com/dealii/dealii.git","ssh_url":"git@github.com:dealii/dealii.git","clone_url":"https://github.com/dealii/dealii.git","svn_url":"https://github.com/dealii/dealii","homepage":"http://www.dealii.org/","size":168126,"stargazers_count":159,"watchers_count":159,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":175,"mirror_url":null,"open_issues_count":171,"forks":175,"open_issues":171,"watchers":159,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dealii/dealii/pulls/2871"},"html":{"href":"https://github.com/dealii/dealii/pull/2871"},"issue":{"href":"https://api.github.com/repos/dealii/dealii/issues/2871"},"comments":{"href":"https://api.github.com/repos/dealii/dealii/issues/2871/comments"},"review_comments":{"href":"https://api.github.com/repos/dealii/dealii/pulls/2871/comments"},"review_comment":{"href":"https://api.github.com/repos/dealii/dealii/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dealii/dealii/pulls/2871/commits"},"statuses":{"href":"https://api.github.com/repos/dealii/dealii/statuses/44b586cc8b1ce91ed66b970a43f71ab47d46c523"}}}}
{"actor":{"display_login":"davydden"}}