{"action":"created","comment":{"url":"https://api.github.com/repos/gonum/gonum/pulls/comments/236062734","pull_request_review_id":178071363,"id":236062734,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzNjA2MjczNA==","diff_hunk":"@@ -0,0 +1,307 @@\n+// Copyright ©2018 The Gonum Authors. All rights reserved.\n+// Use of this source code is governed by a BSD-style\n+// license that can be found in the LICENSE file.\n+\n+package mat\n+\n+import (\n+\t\"gonum.org/v1/gonum/blas\"\n+\t\"gonum.org/v1/gonum/blas/blas64\"\n+)\n+\n+var (\n+\ttriBand TriBanded\n+\t_       Banded     = triBand\n+\t_       Triangular = triBand\n+\n+\ttriBandDense *TriBandDense\n+\t_            Matrix           = triBandDense\n+\t_            Triangular       = triBandDense\n+\t_            Banded           = triBandDense\n+\t_            TriBanded        = triBandDense\n+\t_            RawTriBander     = triBandDense\n+\t_            MutableTriBanded = triBandDense\n+)\n+\n+// TriBanded is a triangular band matrix interface type.\n+type TriBanded interface {\n+\tBanded\n+\n+\t// Triangle returns the number of rows/columns in the matrix and its\n+\t// orientation.\n+\tTriangle() (n int, kind TriKind)\n+\n+\t// TTri is the equivalent of the T() method in the Matrix interface but\n+\t// guarantees the transpose is of triangular type.\n+\tTTri() Triangular\n+\n+\t// TriBand returns the number of rows/columns in the matrix, the\n+\t// size of the bandwidth, and the orientation.\n+\tTriBand() (n, k int, kind TriKind)\n+\n+\t// TTriBand is the equivalent of the T() method in the Matrix interface but\n+\t// guarantees the transpose is of banded triangular type.\n+\tTTriBand() TriBanded\n+}\n+\n+// A RawTriBander can return a blas64.TriangularBand representation of the receiver.\n+// Changes to the blas64.TriangularBand.Data slice will be reflected in the original\n+// matrix, changes to the N, K, Stride, Uplo and Diag fields will not.\n+type RawTriBander interface {\n+\tRawTriBand() blas64.TriangularBand\n+}\n+\n+// MutableTriBanded is a triangular band matrix interface type that allows\n+// elements to be altered.\n+type MutableTriBanded interface {\n+\tTriBanded\n+\tSetTriBand(i, j int, v float64)\n+}\n+\n+var (\n+\ttTriBand TransposeTriBand\n+\t_        Matrix               = tTriBand\n+\t_        TriBanded            = tTriBand\n+\t_        Untransposer         = tTriBand\n+\t_        UntransposeTrier     = tTriBand\n+\t_        UntransposeBander    = tTriBand\n+\t_        UntransposeTriBander = tTriBand\n+)\n+\n+// TransposeBandTri is a type for performing an implicit transpose of a TriBanded\n+// matrix. It implements the TriBanded interface, returning values from the\n+// transpose of the matrix within.\n+type TransposeTriBand struct {\n+\tTriBanded TriBanded\n+}\n+\n+// At returns the value of the element at row i and column j of the transposed\n+// matrix, that is, row j and column i of the TriBanded field.\n+func (t TransposeTriBand) At(i, j int) float64 {\n+\treturn t.TriBanded.At(j, i)\n+}\n+\n+// Dims returns the dimensions of the transposed matrix. TriBanded matrices are\n+// square and thus this is the same size as the original TriBanded.\n+func (t TransposeTriBand) Dims() (r, c int) {\n+\tc, r = t.TriBanded.Dims()\n+\treturn r, c\n+}\n+\n+// T performs an implicit transpose by returning the TriBand field.\n+func (t TransposeTriBand) T() Matrix {\n+\treturn t.TriBanded\n+}\n+\n+// Triangle returns the number of rows/columns in the matrix and its orientation.\n+func (t TransposeTriBand) Triangle() (int, TriKind) {\n+\tn, upper := t.TriBanded.Triangle()\n+\treturn n, !upper\n+}\n+\n+// TTri performs an implicit transpose by returning the TriBand field.\n+func (t TransposeTriBand) TTri() Triangular {\n+\treturn t.TriBanded\n+}\n+\n+// Bandwidth returns the upper and lower bandwidths of the matrix.\n+func (t TransposeTriBand) Bandwidth() (kl, ku int) {\n+\tkl, ku = t.TriBanded.Bandwidth()\n+\treturn ku, kl\n+}\n+\n+// TTri performs an implicit transpose by returning the TriBand field.","path":"mat/triband.go","position":113,"original_position":113,"commit_id":"6f8aa9af1ffdcb9bc29c26b38487d3edeb3b1693","original_commit_id":"6f8aa9af1ffdcb9bc29c26b38487d3edeb3b1693","user":{"login":"vladimir-ch","id":1837502,"node_id":"MDQ6VXNlcjE4Mzc1MDI=","avatar_url":"https://avatars0.githubusercontent.com/u/1837502?v=4","gravatar_id":"","url":"https://api.github.com/users/vladimir-ch","html_url":"https://github.com/vladimir-ch","followers_url":"https://api.github.com/users/vladimir-ch/followers","following_url":"https://api.github.com/users/vladimir-ch/following{/other_user}","gists_url":"https://api.github.com/users/vladimir-ch/gists{/gist_id}","starred_url":"https://api.github.com/users/vladimir-ch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vladimir-ch/subscriptions","organizations_url":"https://api.github.com/users/vladimir-ch/orgs","repos_url":"https://api.github.com/users/vladimir-ch/repos","events_url":"https://api.github.com/users/vladimir-ch/events{/privacy}","received_events_url":"https://api.github.com/users/vladimir-ch/received_events","type":"User","site_admin":false},"body":"TBand","created_at":"2018-11-25T07:14:09Z","updated_at":"2018-11-25T07:43:26Z","html_url":"https://github.com/gonum/gonum/pull/693#discussion_r236062734","pull_request_url":"https://api.github.com/repos/gonum/gonum/pulls/693","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/gonum/gonum/pulls/comments/236062734"},"html":{"href":"https://github.com/gonum/gonum/pull/693#discussion_r236062734"},"pull_request":{"href":"https://api.github.com/repos/gonum/gonum/pulls/693"}}},"pull_request":{"url":"https://api.github.com/repos/gonum/gonum/pulls/693","id":233319034,"node_id":"MDExOlB1bGxSZXF1ZXN0MjMzMzE5MDM0","html_url":"https://github.com/gonum/gonum/pull/693","diff_url":"https://github.com/gonum/gonum/pull/693.diff","patch_url":"https://github.com/gonum/gonum/pull/693.patch","issue_url":"https://api.github.com/repos/gonum/gonum/issues/693","number":693,"state":"open","locked":false,"title":"mat: Add TriBanded interface and TriBandDense type","user":{"login":"btracey","id":3680859,"node_id":"MDQ6VXNlcjM2ODA4NTk=","avatar_url":"https://avatars0.githubusercontent.com/u/3680859?v=4","gravatar_id":"","url":"https://api.github.com/users/btracey","html_url":"https://github.com/btracey","followers_url":"https://api.github.com/users/btracey/followers","following_url":"https://api.github.com/users/btracey/following{/other_user}","gists_url":"https://api.github.com/users/btracey/gists{/gist_id}","starred_url":"https://api.github.com/users/btracey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/btracey/subscriptions","organizations_url":"https://api.github.com/users/btracey/orgs","repos_url":"https://api.github.com/users/btracey/repos","events_url":"https://api.github.com/users/btracey/events{/privacy}","received_events_url":"https://api.github.com/users/btracey/received_events","type":"User","site_admin":false},"body":"Please take a look.\r\n","created_at":"2018-11-24T13:07:20Z","updated_at":"2018-11-25T07:43:26Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e6420a4fe4fa6a9366f8a8ac0552aa321104fff9","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/gonum/gonum/pulls/693/commits","review_comments_url":"https://api.github.com/repos/gonum/gonum/pulls/693/comments","review_comment_url":"https://api.github.com/repos/gonum/gonum/pulls/comments{/number}","comments_url":"https://api.github.com/repos/gonum/gonum/issues/693/comments","statuses_url":"https://api.github.com/repos/gonum/gonum/statuses/6f8aa9af1ffdcb9bc29c26b38487d3edeb3b1693","head":{"label":"gonum:bandtri","ref":"bandtri","sha":"6f8aa9af1ffdcb9bc29c26b38487d3edeb3b1693","user":{"login":"gonum","id":3771091,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM3NzEwOTE=","avatar_url":"https://avatars0.githubusercontent.com/u/3771091?v=4","gravatar_id":"","url":"https://api.github.com/users/gonum","html_url":"https://github.com/gonum","followers_url":"https://api.github.com/users/gonum/followers","following_url":"https://api.github.com/users/gonum/following{/other_user}","gists_url":"https://api.github.com/users/gonum/gists{/gist_id}","starred_url":"https://api.github.com/users/gonum/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gonum/subscriptions","organizations_url":"https://api.github.com/users/gonum/orgs","repos_url":"https://api.github.com/users/gonum/repos","events_url":"https://api.github.com/users/gonum/events{/privacy}","received_events_url":"https://api.github.com/users/gonum/received_events","type":"Organization","site_admin":false},"repo":{"id":86164982,"node_id":"MDEwOlJlcG9zaXRvcnk4NjE2NDk4Mg==","name":"gonum","full_name":"gonum/gonum","private":false,"owner":{"login":"gonum","id":3771091,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM3NzEwOTE=","avatar_url":"https://avatars0.githubusercontent.com/u/3771091?v=4","gravatar_id":"","url":"https://api.github.com/users/gonum","html_url":"https://github.com/gonum","followers_url":"https://api.github.com/users/gonum/followers","following_url":"https://api.github.com/users/gonum/following{/other_user}","gists_url":"https://api.github.com/users/gonum/gists{/gist_id}","starred_url":"https://api.github.com/users/gonum/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gonum/subscriptions","organizations_url":"https://api.github.com/users/gonum/orgs","repos_url":"https://api.github.com/users/gonum/repos","events_url":"https://api.github.com/users/gonum/events{/privacy}","received_events_url":"https://api.github.com/users/gonum/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/gonum/gonum","description":"Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more","fork":false,"url":"https://api.github.com/repos/gonum/gonum","forks_url":"https://api.github.com/repos/gonum/gonum/forks","keys_url":"https://api.github.com/repos/gonum/gonum/keys{/key_id}","collaborators_url":"https://api.github.com/repos/gonum/gonum/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/gonum/gonum/teams","hooks_url":"https://api.github.com/repos/gonum/gonum/hooks","issue_events_url":"https://api.github.com/repos/gonum/gonum/issues/events{/number}","events_url":"https://api.github.com/repos/gonum/gonum/events","assignees_url":"https://api.github.com/repos/gonum/gonum/assignees{/user}","branches_url":"https://api.github.com/repos/gonum/gonum/branches{/branch}","tags_url":"https://api.github.com/repos/gonum/gonum/tags","blobs_url":"https://api.github.com/repos/gonum/gonum/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/gonum/gonum/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/gonum/gonum/git/refs{/sha}","trees_url":"https://api.github.com/repos/gonum/gonum/git/trees{/sha}","statuses_url":"https://api.github.com/repos/gonum/gonum/statuses/{sha}","languages_url":"https://api.github.com/repos/gonum/gonum/languages","stargazers_url":"https://api.github.com/repos/gonum/gonum/stargazers","contributors_url":"https://api.github.com/repos/gonum/gonum/contributors","subscribers_url":"https://api.github.com/repos/gonum/gonum/subscribers","subscription_url":"https://api.github.com/repos/gonum/gonum/subscription","commits_url":"https://api.github.com/repos/gonum/gonum/commits{/sha}","git_commits_url":"https://api.github.com/repos/gonum/gonum/git/commits{/sha}","comments_url":"https://api.github.com/repos/gonum/gonum/comments{/number}","issue_comment_url":"https://api.github.com/repos/gonum/gonum/issues/comments{/number}","contents_url":"https://api.github.com/repos/gonum/gonum/contents/{+path}","compare_url":"https://api.github.com/repos/gonum/gonum/compare/{base}...{head}","merges_url":"https://api.github.com/repos/gonum/gonum/merges","archive_url":"https://api.github.com/repos/gonum/gonum/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/gonum/gonum/downloads","issues_url":"https://api.github.com/repos/gonum/gonum/issues{/number}","pulls_url":"https://api.github.com/repos/gonum/gonum/pulls{/number}","milestones_url":"https://api.github.com/repos/gonum/gonum/milestones{/number}","notifications_url":"https://api.github.com/repos/gonum/gonum/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/gonum/gonum/labels{/name}","releases_url":"https://api.github.com/repos/gonum/gonum/releases{/id}","deployments_url":"https://api.github.com/repos/gonum/gonum/deployments","created_at":"2017-03-25T14:54:38Z","updated_at":"2018-11-25T04:05:32Z","pushed_at":"2018-11-25T05:37:00Z","git_url":"git://github.com/gonum/gonum.git","ssh_url":"git@github.com:gonum/gonum.git","clone_url":"https://github.com/gonum/gonum.git","svn_url":"https://github.com/gonum/gonum","homepage":"https://www.gonum.org/","size":11660,"stargazers_count":2171,"watchers_count":2171,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":157,"mirror_url":null,"archived":false,"open_issues_count":143,"license":{"key":"bsd-3-clause","name":"BSD 3-Clause \"New\" or \"Revised\" License","spdx_id":"BSD-3-Clause","url":"https://api.github.com/licenses/bsd-3-clause","node_id":"MDc6TGljZW5zZTU="},"forks":157,"open_issues":143,"watchers":2171,"default_branch":"master"}},"base":{"label":"gonum:master","ref":"master","sha":"dc5eba8a134ad82c1183e09977e5fee15638cc2b","user":{"login":"gonum","id":3771091,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM3NzEwOTE=","avatar_url":"https://avatars0.githubusercontent.com/u/3771091?v=4","gravatar_id":"","url":"https://api.github.com/users/gonum","html_url":"https://github.com/gonum","followers_url":"https://api.github.com/users/gonum/followers","following_url":"https://api.github.com/users/gonum/following{/other_user}","gists_url":"https://api.github.com/users/gonum/gists{/gist_id}","starred_url":"https://api.github.com/users/gonum/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gonum/subscriptions","organizations_url":"https://api.github.com/users/gonum/orgs","repos_url":"https://api.github.com/users/gonum/repos","events_url":"https://api.github.com/users/gonum/events{/privacy}","received_events_url":"https://api.github.com/users/gonum/received_events","type":"Organization","site_admin":false},"repo":{"id":86164982,"node_id":"MDEwOlJlcG9zaXRvcnk4NjE2NDk4Mg==","name":"gonum","full_name":"gonum/gonum","private":false,"owner":{"login":"gonum","id":3771091,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM3NzEwOTE=","avatar_url":"https://avatars0.githubusercontent.com/u/3771091?v=4","gravatar_id":"","url":"https://api.github.com/users/gonum","html_url":"https://github.com/gonum","followers_url":"https://api.github.com/users/gonum/followers","following_url":"https://api.github.com/users/gonum/following{/other_user}","gists_url":"https://api.github.com/users/gonum/gists{/gist_id}","starred_url":"https://api.github.com/users/gonum/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gonum/subscriptions","organizations_url":"https://api.github.com/users/gonum/orgs","repos_url":"https://api.github.com/users/gonum/repos","events_url":"https://api.github.com/users/gonum/events{/privacy}","received_events_url":"https://api.github.com/users/gonum/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/gonum/gonum","description":"Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more","fork":false,"url":"https://api.github.com/repos/gonum/gonum","forks_url":"https://api.github.com/repos/gonum/gonum/forks","keys_url":"https://api.github.com/repos/gonum/gonum/keys{/key_id}","collaborators_url":"https://api.github.com/repos/gonum/gonum/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/gonum/gonum/teams","hooks_url":"https://api.github.com/repos/gonum/gonum/hooks","issue_events_url":"https://api.github.com/repos/gonum/gonum/issues/events{/number}","events_url":"https://api.github.com/repos/gonum/gonum/events","assignees_url":"https://api.github.com/repos/gonum/gonum/assignees{/user}","branches_url":"https://api.github.com/repos/gonum/gonum/branches{/branch}","tags_url":"https://api.github.com/repos/gonum/gonum/tags","blobs_url":"https://api.github.com/repos/gonum/gonum/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/gonum/gonum/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/gonum/gonum/git/refs{/sha}","trees_url":"https://api.github.com/repos/gonum/gonum/git/trees{/sha}","statuses_url":"https://api.github.com/repos/gonum/gonum/statuses/{sha}","languages_url":"https://api.github.com/repos/gonum/gonum/languages","stargazers_url":"https://api.github.com/repos/gonum/gonum/stargazers","contributors_url":"https://api.github.com/repos/gonum/gonum/contributors","subscribers_url":"https://api.github.com/repos/gonum/gonum/subscribers","subscription_url":"https://api.github.com/repos/gonum/gonum/subscription","commits_url":"https://api.github.com/repos/gonum/gonum/commits{/sha}","git_commits_url":"https://api.github.com/repos/gonum/gonum/git/commits{/sha}","comments_url":"https://api.github.com/repos/gonum/gonum/comments{/number}","issue_comment_url":"https://api.github.com/repos/gonum/gonum/issues/comments{/number}","contents_url":"https://api.github.com/repos/gonum/gonum/contents/{+path}","compare_url":"https://api.github.com/repos/gonum/gonum/compare/{base}...{head}","merges_url":"https://api.github.com/repos/gonum/gonum/merges","archive_url":"https://api.github.com/repos/gonum/gonum/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/gonum/gonum/downloads","issues_url":"https://api.github.com/repos/gonum/gonum/issues{/number}","pulls_url":"https://api.github.com/repos/gonum/gonum/pulls{/number}","milestones_url":"https://api.github.com/repos/gonum/gonum/milestones{/number}","notifications_url":"https://api.github.com/repos/gonum/gonum/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/gonum/gonum/labels{/name}","releases_url":"https://api.github.com/repos/gonum/gonum/releases{/id}","deployments_url":"https://api.github.com/repos/gonum/gonum/deployments","created_at":"2017-03-25T14:54:38Z","updated_at":"2018-11-25T04:05:32Z","pushed_at":"2018-11-25T05:37:00Z","git_url":"git://github.com/gonum/gonum.git","ssh_url":"git@github.com:gonum/gonum.git","clone_url":"https://github.com/gonum/gonum.git","svn_url":"https://github.com/gonum/gonum","homepage":"https://www.gonum.org/","size":11660,"stargazers_count":2171,"watchers_count":2171,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":157,"mirror_url":null,"archived":false,"open_issues_count":143,"license":{"key":"bsd-3-clause","name":"BSD 3-Clause \"New\" or \"Revised\" License","spdx_id":"BSD-3-Clause","url":"https://api.github.com/licenses/bsd-3-clause","node_id":"MDc6TGljZW5zZTU="},"forks":157,"open_issues":143,"watchers":2171,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/gonum/gonum/pulls/693"},"html":{"href":"https://github.com/gonum/gonum/pull/693"},"issue":{"href":"https://api.github.com/repos/gonum/gonum/issues/693"},"comments":{"href":"https://api.github.com/repos/gonum/gonum/issues/693/comments"},"review_comments":{"href":"https://api.github.com/repos/gonum/gonum/pulls/693/comments"},"review_comment":{"href":"https://api.github.com/repos/gonum/gonum/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/gonum/gonum/pulls/693/commits"},"statuses":{"href":"https://api.github.com/repos/gonum/gonum/statuses/6f8aa9af1ffdcb9bc29c26b38487d3edeb3b1693"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"vladimir-ch"}}