{"action":"created","comment":{"url":"https://api.github.com/repos/chapel-lang/chapel/pulls/comments/56551835","id":56551835,"diff_hunk":"@@ -0,0 +1,403 @@\n+use Jama;","path":"test/modules/standard/jama/TestMatrix.chpl","position":20,"original_position":1,"commit_id":"73b3bfe1f043531674e688d34cbdeadeea1e181a","original_commit_id":"6871cf7bfe6becc4fc1eac0a90caaa36fb3cd077","user":{"login":"lydia-duncan","id":2454710,"avatar_url":"https://avatars.githubusercontent.com/u/2454710?v=3","gravatar_id":"","url":"https://api.github.com/users/lydia-duncan","html_url":"https://github.com/lydia-duncan","followers_url":"https://api.github.com/users/lydia-duncan/followers","following_url":"https://api.github.com/users/lydia-duncan/following{/other_user}","gists_url":"https://api.github.com/users/lydia-duncan/gists{/gist_id}","starred_url":"https://api.github.com/users/lydia-duncan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lydia-duncan/subscriptions","organizations_url":"https://api.github.com/users/lydia-duncan/orgs","repos_url":"https://api.github.com/users/lydia-duncan/repos","events_url":"https://api.github.com/users/lydia-duncan/events{/privacy}","received_events_url":"https://api.github.com/users/lydia-duncan/received_events","type":"User","site_admin":false},"body":"You mean the Jama source?  I'd be fine with it directly under modules/standard.  The test code is probably best placed in a new folder test/modules/standard/LinearAlgebraJama","created_at":"2016-03-17T18:11:41Z","updated_at":"2016-03-17T18:11:41Z","html_url":"https://github.com/chapel-lang/chapel/pull/2836#discussion_r56551835","pull_request_url":"https://api.github.com/repos/chapel-lang/chapel/pulls/2836","_links":{"self":{"href":"https://api.github.com/repos/chapel-lang/chapel/pulls/comments/56551835"},"html":{"href":"https://github.com/chapel-lang/chapel/pull/2836#discussion_r56551835"},"pull_request":{"href":"https://api.github.com/repos/chapel-lang/chapel/pulls/2836"}}},"pull_request":{"url":"https://api.github.com/repos/chapel-lang/chapel/pulls/2836","id":48666795,"html_url":"https://github.com/chapel-lang/chapel/pull/2836","diff_url":"https://github.com/chapel-lang/chapel/pull/2836.diff","patch_url":"https://github.com/chapel-lang/chapel/pull/2836.patch","issue_url":"https://api.github.com/repos/chapel-lang/chapel/issues/2836","number":2836,"state":"open","locked":false,"title":"Jama matrix module with unit tests","user":{"login":"ct-clmsn","id":14843437,"avatar_url":"https://avatars.githubusercontent.com/u/14843437?v=3","gravatar_id":"","url":"https://api.github.com/users/ct-clmsn","html_url":"https://github.com/ct-clmsn","followers_url":"https://api.github.com/users/ct-clmsn/followers","following_url":"https://api.github.com/users/ct-clmsn/following{/other_user}","gists_url":"https://api.github.com/users/ct-clmsn/gists{/gist_id}","starred_url":"https://api.github.com/users/ct-clmsn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ct-clmsn/subscriptions","organizations_url":"https://api.github.com/users/ct-clmsn/orgs","repos_url":"https://api.github.com/users/ct-clmsn/repos","events_url":"https://api.github.com/users/ct-clmsn/events{/privacy}","received_events_url":"https://api.github.com/users/ct-clmsn/received_events","type":"User","site_admin":false},"body":"Included is a direct port of the JAMA java matrix library developed by NIST and Mathworks to Chapel. The source can be found here: http://math.nist.gov/javanumerics/jama/ (JAMA is released as public domain software)\r\n\r\nThe module currently supports single node computation. Versions of these algorithms and operations targeting distributed arrays (where applicable) would be ideal (place in the TODO column). The module does not currently leverage the LAPACK module; replacing parts of this code with appropriate calls to LAPACK would be a great next step.\r\n\r\nUnit tests are included with this PR. The unit tests were derived from the existing JAMA java unit tests.\r\n\r\nThe module supports the following matrix operations:\r\n\r\nObject Manipulation \t\r\nconstructors\r\nset elements\r\nget elements\r\ncopy\r\nclone\r\n\r\nElementary Operations \t\r\naddition\r\nsubtraction\r\nmultiplication\r\nscalar multiplication\r\nelement-wise multiplication\r\nelement-wise division\r\nunary minus\r\ntranspose\r\nnorm\r\n\r\nDecompositions \t\r\nCholesky\r\nLU\r\nQR\r\nSVD\r\nsymmetric eigenvalue\r\nnonsymmetric eigenvalue\r\n\r\nEquation Solution \t\r\nnonsingular systems\r\nleast squares\r\n\r\nDerived Quantities \t\r\ncondition number\r\ndeterminant\r\nrank\r\ninverse\r\npseudoinverse","created_at":"2015-10-24T22:27:41Z","updated_at":"2016-03-17T18:11:41Z","closed_at":null,"merged_at":null,"merge_commit_sha":"3836581b2c3d87127d7a8478519eeaccc62c2ea9","assignee":{"login":"lydia-duncan","id":2454710,"avatar_url":"https://avatars.githubusercontent.com/u/2454710?v=3","gravatar_id":"","url":"https://api.github.com/users/lydia-duncan","html_url":"https://github.com/lydia-duncan","followers_url":"https://api.github.com/users/lydia-duncan/followers","following_url":"https://api.github.com/users/lydia-duncan/following{/other_user}","gists_url":"https://api.github.com/users/lydia-duncan/gists{/gist_id}","starred_url":"https://api.github.com/users/lydia-duncan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lydia-duncan/subscriptions","organizations_url":"https://api.github.com/users/lydia-duncan/orgs","repos_url":"https://api.github.com/users/lydia-duncan/repos","events_url":"https://api.github.com/users/lydia-duncan/events{/privacy}","received_events_url":"https://api.github.com/users/lydia-duncan/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/chapel-lang/chapel/pulls/2836/commits","review_comments_url":"https://api.github.com/repos/chapel-lang/chapel/pulls/2836/comments","review_comment_url":"https://api.github.com/repos/chapel-lang/chapel/pulls/comments{/number}","comments_url":"https://api.github.com/repos/chapel-lang/chapel/issues/2836/comments","statuses_url":"https://api.github.com/repos/chapel-lang/chapel/statuses/73b3bfe1f043531674e688d34cbdeadeea1e181a","head":{"label":"ct-clmsn:jama","ref":"jama","sha":"73b3bfe1f043531674e688d34cbdeadeea1e181a","user":{"login":"ct-clmsn","id":14843437,"avatar_url":"https://avatars.githubusercontent.com/u/14843437?v=3","gravatar_id":"","url":"https://api.github.com/users/ct-clmsn","html_url":"https://github.com/ct-clmsn","followers_url":"https://api.github.com/users/ct-clmsn/followers","following_url":"https://api.github.com/users/ct-clmsn/following{/other_user}","gists_url":"https://api.github.com/users/ct-clmsn/gists{/gist_id}","starred_url":"https://api.github.com/users/ct-clmsn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ct-clmsn/subscriptions","organizations_url":"https://api.github.com/users/ct-clmsn/orgs","repos_url":"https://api.github.com/users/ct-clmsn/repos","events_url":"https://api.github.com/users/ct-clmsn/events{/privacy}","received_events_url":"https://api.github.com/users/ct-clmsn/received_events","type":"User","site_admin":false},"repo":{"id":43176515,"name":"chapel","full_name":"ct-clmsn/chapel","owner":{"login":"ct-clmsn","id":14843437,"avatar_url":"https://avatars.githubusercontent.com/u/14843437?v=3","gravatar_id":"","url":"https://api.github.com/users/ct-clmsn","html_url":"https://github.com/ct-clmsn","followers_url":"https://api.github.com/users/ct-clmsn/followers","following_url":"https://api.github.com/users/ct-clmsn/following{/other_user}","gists_url":"https://api.github.com/users/ct-clmsn/gists{/gist_id}","starred_url":"https://api.github.com/users/ct-clmsn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ct-clmsn/subscriptions","organizations_url":"https://api.github.com/users/ct-clmsn/orgs","repos_url":"https://api.github.com/users/ct-clmsn/repos","events_url":"https://api.github.com/users/ct-clmsn/events{/privacy}","received_events_url":"https://api.github.com/users/ct-clmsn/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ct-clmsn/chapel","description":"a Productive Parallel Programming Language","fork":true,"url":"https://api.github.com/repos/ct-clmsn/chapel","forks_url":"https://api.github.com/repos/ct-clmsn/chapel/forks","keys_url":"https://api.github.com/repos/ct-clmsn/chapel/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ct-clmsn/chapel/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ct-clmsn/chapel/teams","hooks_url":"https://api.github.com/repos/ct-clmsn/chapel/hooks","issue_events_url":"https://api.github.com/repos/ct-clmsn/chapel/issues/events{/number}","events_url":"https://api.github.com/repos/ct-clmsn/chapel/events","assignees_url":"https://api.github.com/repos/ct-clmsn/chapel/assignees{/user}","branches_url":"https://api.github.com/repos/ct-clmsn/chapel/branches{/branch}","tags_url":"https://api.github.com/repos/ct-clmsn/chapel/tags","blobs_url":"https://api.github.com/repos/ct-clmsn/chapel/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ct-clmsn/chapel/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ct-clmsn/chapel/git/refs{/sha}","trees_url":"https://api.github.com/repos/ct-clmsn/chapel/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ct-clmsn/chapel/statuses/{sha}","languages_url":"https://api.github.com/repos/ct-clmsn/chapel/languages","stargazers_url":"https://api.github.com/repos/ct-clmsn/chapel/stargazers","contributors_url":"https://api.github.com/repos/ct-clmsn/chapel/contributors","subscribers_url":"https://api.github.com/repos/ct-clmsn/chapel/subscribers","subscription_url":"https://api.github.com/repos/ct-clmsn/chapel/subscription","commits_url":"https://api.github.com/repos/ct-clmsn/chapel/commits{/sha}","git_commits_url":"https://api.github.com/repos/ct-clmsn/chapel/git/commits{/sha}","comments_url":"https://api.github.com/repos/ct-clmsn/chapel/comments{/number}","issue_comment_url":"https://api.github.com/repos/ct-clmsn/chapel/issues/comments{/number}","contents_url":"https://api.github.com/repos/ct-clmsn/chapel/contents/{+path}","compare_url":"https://api.github.com/repos/ct-clmsn/chapel/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ct-clmsn/chapel/merges","archive_url":"https://api.github.com/repos/ct-clmsn/chapel/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ct-clmsn/chapel/downloads","issues_url":"https://api.github.com/repos/ct-clmsn/chapel/issues{/number}","pulls_url":"https://api.github.com/repos/ct-clmsn/chapel/pulls{/number}","milestones_url":"https://api.github.com/repos/ct-clmsn/chapel/milestones{/number}","notifications_url":"https://api.github.com/repos/ct-clmsn/chapel/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ct-clmsn/chapel/labels{/name}","releases_url":"https://api.github.com/repos/ct-clmsn/chapel/releases{/id}","deployments_url":"https://api.github.com/repos/ct-clmsn/chapel/deployments","created_at":"2015-09-25T21:31:34Z","updated_at":"2016-01-16T13:52:23Z","pushed_at":"2016-03-17T01:57:30Z","git_url":"git://github.com/ct-clmsn/chapel.git","ssh_url":"git@github.com:ct-clmsn/chapel.git","clone_url":"https://github.com/ct-clmsn/chapel.git","svn_url":"https://github.com/ct-clmsn/chapel","homepage":"http://chapel.cray.com/","size":352854,"stargazers_count":0,"watchers_count":0,"language":"Chapel","has_issues":false,"has_downloads":true,"has_wiki":false,"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":"chapel-lang:master","ref":"master","sha":"a0fcaa7bffe9b6c0b5cd1ae0fe362d3826e56f35","user":{"login":"chapel-lang","id":7597261,"avatar_url":"https://avatars.githubusercontent.com/u/7597261?v=3","gravatar_id":"","url":"https://api.github.com/users/chapel-lang","html_url":"https://github.com/chapel-lang","followers_url":"https://api.github.com/users/chapel-lang/followers","following_url":"https://api.github.com/users/chapel-lang/following{/other_user}","gists_url":"https://api.github.com/users/chapel-lang/gists{/gist_id}","starred_url":"https://api.github.com/users/chapel-lang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chapel-lang/subscriptions","organizations_url":"https://api.github.com/users/chapel-lang/orgs","repos_url":"https://api.github.com/users/chapel-lang/repos","events_url":"https://api.github.com/users/chapel-lang/events{/privacy}","received_events_url":"https://api.github.com/users/chapel-lang/received_events","type":"Organization","site_admin":false},"repo":{"id":21663285,"name":"chapel","full_name":"chapel-lang/chapel","owner":{"login":"chapel-lang","id":7597261,"avatar_url":"https://avatars.githubusercontent.com/u/7597261?v=3","gravatar_id":"","url":"https://api.github.com/users/chapel-lang","html_url":"https://github.com/chapel-lang","followers_url":"https://api.github.com/users/chapel-lang/followers","following_url":"https://api.github.com/users/chapel-lang/following{/other_user}","gists_url":"https://api.github.com/users/chapel-lang/gists{/gist_id}","starred_url":"https://api.github.com/users/chapel-lang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chapel-lang/subscriptions","organizations_url":"https://api.github.com/users/chapel-lang/orgs","repos_url":"https://api.github.com/users/chapel-lang/repos","events_url":"https://api.github.com/users/chapel-lang/events{/privacy}","received_events_url":"https://api.github.com/users/chapel-lang/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/chapel-lang/chapel","description":"a Productive Parallel Programming Language","fork":false,"url":"https://api.github.com/repos/chapel-lang/chapel","forks_url":"https://api.github.com/repos/chapel-lang/chapel/forks","keys_url":"https://api.github.com/repos/chapel-lang/chapel/keys{/key_id}","collaborators_url":"https://api.github.com/repos/chapel-lang/chapel/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/chapel-lang/chapel/teams","hooks_url":"https://api.github.com/repos/chapel-lang/chapel/hooks","issue_events_url":"https://api.github.com/repos/chapel-lang/chapel/issues/events{/number}","events_url":"https://api.github.com/repos/chapel-lang/chapel/events","assignees_url":"https://api.github.com/repos/chapel-lang/chapel/assignees{/user}","branches_url":"https://api.github.com/repos/chapel-lang/chapel/branches{/branch}","tags_url":"https://api.github.com/repos/chapel-lang/chapel/tags","blobs_url":"https://api.github.com/repos/chapel-lang/chapel/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/chapel-lang/chapel/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/chapel-lang/chapel/git/refs{/sha}","trees_url":"https://api.github.com/repos/chapel-lang/chapel/git/trees{/sha}","statuses_url":"https://api.github.com/repos/chapel-lang/chapel/statuses/{sha}","languages_url":"https://api.github.com/repos/chapel-lang/chapel/languages","stargazers_url":"https://api.github.com/repos/chapel-lang/chapel/stargazers","contributors_url":"https://api.github.com/repos/chapel-lang/chapel/contributors","subscribers_url":"https://api.github.com/repos/chapel-lang/chapel/subscribers","subscription_url":"https://api.github.com/repos/chapel-lang/chapel/subscription","commits_url":"https://api.github.com/repos/chapel-lang/chapel/commits{/sha}","git_commits_url":"https://api.github.com/repos/chapel-lang/chapel/git/commits{/sha}","comments_url":"https://api.github.com/repos/chapel-lang/chapel/comments{/number}","issue_comment_url":"https://api.github.com/repos/chapel-lang/chapel/issues/comments{/number}","contents_url":"https://api.github.com/repos/chapel-lang/chapel/contents/{+path}","compare_url":"https://api.github.com/repos/chapel-lang/chapel/compare/{base}...{head}","merges_url":"https://api.github.com/repos/chapel-lang/chapel/merges","archive_url":"https://api.github.com/repos/chapel-lang/chapel/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/chapel-lang/chapel/downloads","issues_url":"https://api.github.com/repos/chapel-lang/chapel/issues{/number}","pulls_url":"https://api.github.com/repos/chapel-lang/chapel/pulls{/number}","milestones_url":"https://api.github.com/repos/chapel-lang/chapel/milestones{/number}","notifications_url":"https://api.github.com/repos/chapel-lang/chapel/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/chapel-lang/chapel/labels{/name}","releases_url":"https://api.github.com/repos/chapel-lang/chapel/releases{/id}","deployments_url":"https://api.github.com/repos/chapel-lang/chapel/deployments","created_at":"2014-07-09T18:15:54Z","updated_at":"2016-03-16T11:43:38Z","pushed_at":"2016-03-17T17:58:59Z","git_url":"git://github.com/chapel-lang/chapel.git","ssh_url":"git@github.com:chapel-lang/chapel.git","clone_url":"https://github.com/chapel-lang/chapel.git","svn_url":"https://github.com/chapel-lang/chapel","homepage":"http://chapel.cray.com/","size":445378,"stargazers_count":227,"watchers_count":227,"language":"Chapel","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":90,"mirror_url":null,"open_issues_count":18,"forks":90,"open_issues":18,"watchers":227,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/chapel-lang/chapel/pulls/2836"},"html":{"href":"https://github.com/chapel-lang/chapel/pull/2836"},"issue":{"href":"https://api.github.com/repos/chapel-lang/chapel/issues/2836"},"comments":{"href":"https://api.github.com/repos/chapel-lang/chapel/issues/2836/comments"},"review_comments":{"href":"https://api.github.com/repos/chapel-lang/chapel/pulls/2836/comments"},"review_comment":{"href":"https://api.github.com/repos/chapel-lang/chapel/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/chapel-lang/chapel/pulls/2836/commits"},"statuses":{"href":"https://api.github.com/repos/chapel-lang/chapel/statuses/73b3bfe1f043531674e688d34cbdeadeea1e181a"}}}}