github.com/gonum/matrix@v0.0.0-20181209220409-c518dec07be9/consts.go (about) 1 // Copyright ©2016 The gonum Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package matrix 6 7 // TriKind represents the triangularity of the matrix. 8 type TriKind bool 9 10 const ( 11 // Upper specifies an upper triangular matrix. 12 Upper TriKind = true 13 // Lower specifies a lower triangular matrix. 14 Lower TriKind = false 15 ) 16 17 // SVDKind specifies the treatment of singular vectors during an SVD 18 // factorization. 19 type SVDKind int 20 21 const ( 22 // SVDNone specifies that no singular vectors should be computed during 23 // the decomposition. 24 SVDNone SVDKind = iota + 1 25 // SVDThin computes the thin singular vectors, that is, it computes 26 // A = U~ * Σ * V~^T 27 // where U~ is of size m×min(m,n), Σ is a diagonal matrix of size min(m,n)×min(m,n) 28 // and V~ is of size n×min(m,n). 29 SVDThin 30 // SVDFull computes the full singular value decomposition, 31 // A = U * Σ * V^T 32 // where U is of size m×m, Σ is an m×n diagonal matrix, and V is an n×n matrix. 33 SVDFull 34 ) 35 36 // GSVDKind specifies the treatment of singular vectors during a GSVD 37 // factorization. 38 type GSVDKind int 39 40 const ( 41 // GSVDU specifies that the U singular vectors should be computed during 42 // the decomposition. 43 GSVDU GSVDKind = 1 << iota 44 // GSVDV specifies that the V singular vectors should be computed during 45 // the decomposition. 46 GSVDV 47 // GSVDQ specifies that the Q singular vectors should be computed during 48 // the decomposition. 49 GSVDQ 50 51 // GSVDNone specifies that no singular vector should be computed during 52 // the decomposition. 53 GSVDNone 54 )