{"action":"created","comment":{"url":"https://api.github.com/repos/gonum/lapack/pulls/comments/47446951","id":47446951,"diff_hunk":"@@ -0,0 +1,493 @@\n+// Copyright ©2015 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 native\n+\n+import (\n+\t\"math\"\n+\n+\t\"github.com/gonum/blas\"\n+\t\"github.com/gonum/blas/blas64\"\n+\t\"github.com/gonum/lapack\"\n+)\n+\n+// Dbdsqr performs a singular value decomposition of a real n×n bidiagonal matrix.\n+//\n+// The SVD of the bidiagonal matrix B is\n+//  B = Q * S * P^T\n+// where S is a diagonal matrix of singular values, Q is an orthogonal matrix of\n+// left singular vectors, and P is an orthogonal matrix of right singular vectors.\n+//\n+// Q and P are only computed if requested. If left singular vectors are requested,\n+// this routine returns U * Q instead of Q, and if right singular vectors are\n+// requested P^T * VT is returned instead of P^T.\n+//\n+// Frequently Dbdsqr is used in conjuction with Dgebrd which reduced a general\n+// matrix A into bidiagonal form. In this case, the SVD of A is\n+//  A = (U * Q) * S * (P^T * VT)\n+//\n+// This routine may also compute Q^T * C.\n+//\n+// d and e contain the elements of the bidiagonal matrix b. d must have length at\n+// least n, and e must have length at least n-1. Dbdsqr will panic if there is\n+// insufficient length. On exit, D contains the singular values of B in decreasing\n+// order.\n+//\n+// VT is a matrix of size n×ncvt whose elements are stored in vt. The elements\n+// of vt are modified to contain P^T * VT on exit. VT is not used if ncvt == 0.\n+//\n+// U is a matrix of size nru×n whose elements are stored in u. The elements\n+// of u are modified to contain U * Q on exit. U is not used if nru == 0.\n+//\n+// C is a matrix of size n×ncc whose elements are stored in c. The elements\n+// of c are modified to contain Q^T * C on exit. C is not used if ncc == 0.\n+//\n+// work contains temporary storage and must have length at least 4*n. Dbdsqr\n+// will panic if there is insufficient working memory.\n+func (impl Implementation) Dbdsqr(uplo blas.Uplo, n, ncvt, nru, ncc int, d, e, vt []float64, ldvt int, u []float64, ldu int, c []float64, ldc int, work []float64) (ok bool) {\n+\tif uplo != blas.Upper && uplo != blas.Lower {\n+\t\tpanic(badUplo)\n+\t}\n+\tif ncvt != 0 {\n+\t\tcheckMatrix(n, ncvt, vt, ldvt)\n+\t}\n+\tif nru != 0 {\n+\t\tcheckMatrix(nru, n, u, ldu)\n+\t}\n+\tif ncc != 0 {\n+\t\tcheckMatrix(n, ncc, c, ldc)\n+\t}\n+\tif len(d) < n {\n+\t\tpanic(badD)\n+\t}\n+\tif len(e) < n-1 {\n+\t\tpanic(badE)\n+\t}\n+\tif len(work) < 4*n {\n+\t\tpanic(badWork)\n+\t}\n+\tvar info int\n+\tbi := blas64.Implementation()\n+\tconst (\n+\t\thndrth    = 1.0 / 100\n+\t\tnegEighth = -1.0 / 8\n+\t\tmaxIter   = 6\n+\t)\n+\tif n == 0 {\n+\t\treturn true\n+\t}\n+\trotate := ncvt > 0 || nru > 0 || ncc > 0\n+\tif n == 1 {\n+\t\tgoto OneSixty\n+\t}\n+\t// Create a block to help with the above goto and initializaiton\n+\t{\n+\t\t// If the singular vectors do not need to be computed, use qd algorithm.\n+\t\tif !rotate {\n+\t\t\tinfo = impl.Dlasq1(n, d, e, work)\n+\t\t\t// If info is 2 dqds didn't finish, and so try to.\n+\t\t\tif info != 2 {\n+\t\t\t\treturn info == 0\n+\t\t\t}\n+\t\t\tinfo = 0\n+\t\t}\n+\t\tnm1 := n - 1\n+\t\tnm12 := nm1 + nm1\n+\t\tnm13 := nm12 + nm1\n+\t\tidir := 0\n+\n+\t\teps := dlamchE\n+\t\tunfl := dlamchS\n+\t\tlower := uplo == blas.Lower\n+\t\tvar cs, sn, r float64\n+\t\tif lower {\n+\t\t\tfor i := 0; i < n-1; i++ {\n+\t\t\t\tcs, sn, r = impl.Dlartg(d[i], e[i])\n+\t\t\t\td[i] = r\n+\t\t\t\te[i] = sn * d[i+1]\n+\t\t\t\td[i+1] *= cs\n+\t\t\t\twork[i] = cs\n+\t\t\t\twork[nm1+i] = sn\n+\t\t\t}\n+\t\t\tif nru > 0 {\n+\t\t\t\timpl.Dlasr(blas.Right, lapack.Variable, lapack.Forward, nru, n, work[0:], work[n-1:], u, ldu)\n+\t\t\t}\n+\t\t\tif ncc > 0 {\n+\t\t\t\timpl.Dlasr(blas.Left, lapack.Variable, lapack.Forward, n, ncc, work[0:], work[n-1:], c, ldc)\n+\t\t\t}\n+\t\t}\n+\t\t// Compute singular values to a relative accuracy of tol. If tol is negative\n+\t\t// the values will be computed to an absolute accuracy of math.Abs(tol) * norm(b)\n+\t\ttolmul := math.Max(10, math.Min(100, eps*negEighth))\n+\t\ttol := tolmul * eps\n+\t\tvar thresh float64\n+\t\tvar smax float64\n+\t\tfor i := 0; i < n; i++ {\n+\t\t\tsmax = math.Max(smax, math.Abs(d[i]))\n+\t\t}\n+\t\tfor i := 0; i < n-1; i++ {\n+\t\t\tsmax = math.Max(smax, math.Abs(e[i]))\n+\t\t}\n+\t\tvar smin1 float64\n+\t\tif tol >= 0 {\n+\t\t\tsminoa := math.Abs(d[0])\n+\t\t\tif sminoa != 0 {\n+\t\t\t\tmu := sminoa\n+\t\t\t\tfor i := 1; i < n; i++ {\n+\t\t\t\t\tmu = math.Abs(d[i]) * (mu / (mu + math.Abs(e[i-1])))\n+\t\t\t\t\tsminoa = math.Min(sminoa, mu)\n+\t\t\t\t\tif sminoa == 0 {\n+\t\t\t\t\t\tbreak\n+\t\t\t\t\t}\n+\t\t\t\t}\n+\t\t\t}\n+\t\t\tsminoa = sminoa / math.Sqrt(float64(n))\n+\t\t\tthresh = math.Max(tol*sminoa, float64(maxIter*n*n)*unfl)\n+\t\t} else {\n+\t\t\tthresh = math.Max(math.Abs(tol)*smax, float64(maxIter*n*n)*unfl)\n+\t\t}\n+\t\t// Prepare for the main iteration loop for the singular values.\n+\t\tmaxIt := maxIter * n * n\n+\t\titer := 0\n+\t\toldll := -1\n+\t\toldm := -1\n+\t\t// m points to the last element of unconverged part of matrix.\n+\t\tm := n\n+\n+\tOuter:\n+\t\tfor {\n+\t\t\tif m <= 1 {\n+\t\t\t\tbreak\n+\t\t\t}\n+\t\t\tif iter > maxIt {\n+\t\t\t\tinfo = 0\n+\t\t\t\tfor i := 0; i < n-1; i++ {\n+\t\t\t\t\tif e[i] != 0 {\n+\t\t\t\t\t\tinfo++\n+\t\t\t\t\t}\n+\t\t\t\t}\n+\t\t\t\treturn info == 0\n+\t\t\t}\n+\t\t\t// Find diagonal block of matrix to work on.\n+\t\t\tif tol < 0 && d[m-1] <= thresh {\n+\t\t\t\td[m-1] = 0\n+\t\t\t}\n+\t\t\tsmax = math.Abs(d[m-1])\n+\t\t\tsmin := smax\n+\t\t\tvar ll int\n+\t\t\tvar broke bool\n+\t\t\tfor lll := 0; lll < m-1; lll++ {\n+\t\t\t\tll = m - lll - 2\n+\t\t\t\tabss := math.Abs(d[ll])\n+\t\t\t\tabse := math.Abs(e[ll])\n+\t\t\t\tif tol < 0 && abss <= thresh {\n+\t\t\t\t\td[ll] = 0\n+\t\t\t\t}\n+\t\t\t\tif abse <= thresh {\n+\t\t\t\t\tbroke = true\n+\t\t\t\t\tbreak\n+\t\t\t\t}\n+\t\t\t\tsmin = math.Min(smin, abss)\n+\t\t\t\tsmax = math.Max(math.Max(smax, abss), abse)\n+\t\t\t}\n+\t\t\tif broke {\n+\t\t\t\te[ll] = 0\n+\t\t\t\tif ll == m-2 {\n+\t\t\t\t\t// Convergence of bottom singular value, return to top.\n+\t\t\t\t\tm--\n+\t\t\t\t\tcontinue\n+\t\t\t\t}\n+\t\t\t} else {\n+\t\t\t\tll = -1\n+\t\t\t}\n+\t\t\tll++\n+\t\t\t// e[ll] through e[m-2] are nonzero, e[ll-1] is zero\n+\t\t\tif ll == m-2 {\n+\t\t\t\t// Handle 2×2 block separately.\n+\t\t\t\tsigmn, sigmx, sinr, cosr, sin1, cos1 := impl.Dlasv2(d[m-2], e[m-2], d[m-1])\n+\t\t\t\td[m-2] = sigmx\n+\t\t\t\te[m-2] = 0\n+\t\t\t\td[m-1] = sigmn\n+\t\t\t\tif ncvt > 0 {\n+\t\t\t\t\tbi.Drot(ncvt, vt[(m-2)*ldvt:], 1, vt[(m-1)*ldvt:], 1, cosr, sinr)\n+\t\t\t\t}\n+\t\t\t\tif nru > 0 {\n+\t\t\t\t\tbi.Drot(nru, u[m-2:], ldu, u[m-1:], ldu, cos1, sin1)\n+\t\t\t\t}\n+\t\t\t\tif ncc > 0 {\n+\t\t\t\t\tbi.Drot(ncc, c[(m-2)*ldc:], 1, c[(m-1)*ldc:], 1, cos1, sin1)\n+\t\t\t\t}\n+\t\t\t\tm -= 2\n+\t\t\t\tcontinue\n+\t\t\t}\n+\t\t\t// If working on a new submatrix, chose shift direction from larger end\n+\t\t\t// diagonal element to smaller.","path":"native/dbdsqr.go","position":225,"original_position":225,"commit_id":"44ef8a83a2d8c3331e502a16f2c97018baef3975","original_commit_id":"44ef8a83a2d8c3331e502a16f2c97018baef3975","user":{"login":"btracey","id":3680859,"avatar_url":"https://avatars.githubusercontent.com/u/3680859?v=3","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":"Done.","created_at":"2015-12-13T16:38:30Z","updated_at":"2015-12-13T16:38:30Z","html_url":"https://github.com/gonum/lapack/pull/78#discussion_r47446951","pull_request_url":"https://api.github.com/repos/gonum/lapack/pulls/78","_links":{"self":{"href":"https://api.github.com/repos/gonum/lapack/pulls/comments/47446951"},"html":{"href":"https://github.com/gonum/lapack/pull/78#discussion_r47446951"},"pull_request":{"href":"https://api.github.com/repos/gonum/lapack/pulls/78"}}},"pull_request":{"url":"https://api.github.com/repos/gonum/lapack/pulls/78","id":53461503,"html_url":"https://github.com/gonum/lapack/pull/78","diff_url":"https://github.com/gonum/lapack/pull/78.diff","patch_url":"https://github.com/gonum/lapack/pull/78.patch","issue_url":"https://api.github.com/repos/gonum/lapack/issues/78","number":78,"state":"open","locked":false,"title":"Add Dbdsqr and test","user":{"login":"btracey","id":3680859,"avatar_url":"https://avatars.githubusercontent.com/u/3680859?v=3","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":"","created_at":"2015-12-12T00:31:48Z","updated_at":"2015-12-13T16:38:30Z","closed_at":null,"merged_at":null,"merge_commit_sha":"67f3e6f0fdd621f7e7167829d7e48c5b5ecac4fb","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/gonum/lapack/pulls/78/commits","review_comments_url":"https://api.github.com/repos/gonum/lapack/pulls/78/comments","review_comment_url":"https://api.github.com/repos/gonum/lapack/pulls/comments{/number}","comments_url":"https://api.github.com/repos/gonum/lapack/issues/78/comments","statuses_url":"https://api.github.com/repos/gonum/lapack/statuses/44ef8a83a2d8c3331e502a16f2c97018baef3975","head":{"label":"gonum:adddbdsqr","ref":"adddbdsqr","sha":"44ef8a83a2d8c3331e502a16f2c97018baef3975","user":{"login":"gonum","id":3771091,"avatar_url":"https://avatars.githubusercontent.com/u/3771091?v=3","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":20473913,"name":"lapack","full_name":"gonum/lapack","owner":{"login":"gonum","id":3771091,"avatar_url":"https://avatars.githubusercontent.com/u/3771091?v=3","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},"private":false,"html_url":"https://github.com/gonum/lapack","description":"A lapack implementation for go","fork":false,"url":"https://api.github.com/repos/gonum/lapack","forks_url":"https://api.github.com/repos/gonum/lapack/forks","keys_url":"https://api.github.com/repos/gonum/lapack/keys{/key_id}","collaborators_url":"https://api.github.com/repos/gonum/lapack/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/gonum/lapack/teams","hooks_url":"https://api.github.com/repos/gonum/lapack/hooks","issue_events_url":"https://api.github.com/repos/gonum/lapack/issues/events{/number}","events_url":"https://api.github.com/repos/gonum/lapack/events","assignees_url":"https://api.github.com/repos/gonum/lapack/assignees{/user}","branches_url":"https://api.github.com/repos/gonum/lapack/branches{/branch}","tags_url":"https://api.github.com/repos/gonum/lapack/tags","blobs_url":"https://api.github.com/repos/gonum/lapack/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/gonum/lapack/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/gonum/lapack/git/refs{/sha}","trees_url":"https://api.github.com/repos/gonum/lapack/git/trees{/sha}","statuses_url":"https://api.github.com/repos/gonum/lapack/statuses/{sha}","languages_url":"https://api.github.com/repos/gonum/lapack/languages","stargazers_url":"https://api.github.com/repos/gonum/lapack/stargazers","contributors_url":"https://api.github.com/repos/gonum/lapack/contributors","subscribers_url":"https://api.github.com/repos/gonum/lapack/subscribers","subscription_url":"https://api.github.com/repos/gonum/lapack/subscription","commits_url":"https://api.github.com/repos/gonum/lapack/commits{/sha}","git_commits_url":"https://api.github.com/repos/gonum/lapack/git/commits{/sha}","comments_url":"https://api.github.com/repos/gonum/lapack/comments{/number}","issue_comment_url":"https://api.github.com/repos/gonum/lapack/issues/comments{/number}","contents_url":"https://api.github.com/repos/gonum/lapack/contents/{+path}","compare_url":"https://api.github.com/repos/gonum/lapack/compare/{base}...{head}","merges_url":"https://api.github.com/repos/gonum/lapack/merges","archive_url":"https://api.github.com/repos/gonum/lapack/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/gonum/lapack/downloads","issues_url":"https://api.github.com/repos/gonum/lapack/issues{/number}","pulls_url":"https://api.github.com/repos/gonum/lapack/pulls{/number}","milestones_url":"https://api.github.com/repos/gonum/lapack/milestones{/number}","notifications_url":"https://api.github.com/repos/gonum/lapack/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/gonum/lapack/labels{/name}","releases_url":"https://api.github.com/repos/gonum/lapack/releases{/id}","created_at":"2014-06-04T07:18:07Z","updated_at":"2015-12-09T04:35:08Z","pushed_at":"2015-12-12T01:01:34Z","git_url":"git://github.com/gonum/lapack.git","ssh_url":"git@github.com:gonum/lapack.git","clone_url":"https://github.com/gonum/lapack.git","svn_url":"https://github.com/gonum/lapack","homepage":null,"size":521,"stargazers_count":22,"watchers_count":22,"language":"Go","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":4,"mirror_url":null,"open_issues_count":5,"forks":4,"open_issues":5,"watchers":22,"default_branch":"master"}},"base":{"label":"gonum:master","ref":"master","sha":"2aacaffd6ae533c96bb22f147382428196f1bbff","user":{"login":"gonum","id":3771091,"avatar_url":"https://avatars.githubusercontent.com/u/3771091?v=3","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":20473913,"name":"lapack","full_name":"gonum/lapack","owner":{"login":"gonum","id":3771091,"avatar_url":"https://avatars.githubusercontent.com/u/3771091?v=3","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},"private":false,"html_url":"https://github.com/gonum/lapack","description":"A lapack implementation for go","fork":false,"url":"https://api.github.com/repos/gonum/lapack","forks_url":"https://api.github.com/repos/gonum/lapack/forks","keys_url":"https://api.github.com/repos/gonum/lapack/keys{/key_id}","collaborators_url":"https://api.github.com/repos/gonum/lapack/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/gonum/lapack/teams","hooks_url":"https://api.github.com/repos/gonum/lapack/hooks","issue_events_url":"https://api.github.com/repos/gonum/lapack/issues/events{/number}","events_url":"https://api.github.com/repos/gonum/lapack/events","assignees_url":"https://api.github.com/repos/gonum/lapack/assignees{/user}","branches_url":"https://api.github.com/repos/gonum/lapack/branches{/branch}","tags_url":"https://api.github.com/repos/gonum/lapack/tags","blobs_url":"https://api.github.com/repos/gonum/lapack/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/gonum/lapack/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/gonum/lapack/git/refs{/sha}","trees_url":"https://api.github.com/repos/gonum/lapack/git/trees{/sha}","statuses_url":"https://api.github.com/repos/gonum/lapack/statuses/{sha}","languages_url":"https://api.github.com/repos/gonum/lapack/languages","stargazers_url":"https://api.github.com/repos/gonum/lapack/stargazers","contributors_url":"https://api.github.com/repos/gonum/lapack/contributors","subscribers_url":"https://api.github.com/repos/gonum/lapack/subscribers","subscription_url":"https://api.github.com/repos/gonum/lapack/subscription","commits_url":"https://api.github.com/repos/gonum/lapack/commits{/sha}","git_commits_url":"https://api.github.com/repos/gonum/lapack/git/commits{/sha}","comments_url":"https://api.github.com/repos/gonum/lapack/comments{/number}","issue_comment_url":"https://api.github.com/repos/gonum/lapack/issues/comments{/number}","contents_url":"https://api.github.com/repos/gonum/lapack/contents/{+path}","compare_url":"https://api.github.com/repos/gonum/lapack/compare/{base}...{head}","merges_url":"https://api.github.com/repos/gonum/lapack/merges","archive_url":"https://api.github.com/repos/gonum/lapack/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/gonum/lapack/downloads","issues_url":"https://api.github.com/repos/gonum/lapack/issues{/number}","pulls_url":"https://api.github.com/repos/gonum/lapack/pulls{/number}","milestones_url":"https://api.github.com/repos/gonum/lapack/milestones{/number}","notifications_url":"https://api.github.com/repos/gonum/lapack/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/gonum/lapack/labels{/name}","releases_url":"https://api.github.com/repos/gonum/lapack/releases{/id}","created_at":"2014-06-04T07:18:07Z","updated_at":"2015-12-09T04:35:08Z","pushed_at":"2015-12-12T01:01:34Z","git_url":"git://github.com/gonum/lapack.git","ssh_url":"git@github.com:gonum/lapack.git","clone_url":"https://github.com/gonum/lapack.git","svn_url":"https://github.com/gonum/lapack","homepage":null,"size":521,"stargazers_count":22,"watchers_count":22,"language":"Go","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":4,"mirror_url":null,"open_issues_count":5,"forks":4,"open_issues":5,"watchers":22,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/gonum/lapack/pulls/78"},"html":{"href":"https://github.com/gonum/lapack/pull/78"},"issue":{"href":"https://api.github.com/repos/gonum/lapack/issues/78"},"comments":{"href":"https://api.github.com/repos/gonum/lapack/issues/78/comments"},"review_comments":{"href":"https://api.github.com/repos/gonum/lapack/pulls/78/comments"},"review_comment":{"href":"https://api.github.com/repos/gonum/lapack/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/gonum/lapack/pulls/78/commits"},"statuses":{"href":"https://api.github.com/repos/gonum/lapack/statuses/44ef8a83a2d8c3331e502a16f2c97018baef3975"}}}}