OSDN Git Service

Merge pull request #201 from Bytom/v0.1
[bytom/vapor.git] / vendor / gonum.org / v1 / gonum / mat / cholesky_example_test.go
diff --git a/vendor/gonum.org/v1/gonum/mat/cholesky_example_test.go b/vendor/gonum.org/v1/gonum/mat/cholesky_example_test.go
deleted file mode 100644 (file)
index b933922..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-// Copyright ©2015 The Gonum Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package mat_test
-
-import (
-       "fmt"
-
-       "gonum.org/v1/gonum/mat"
-)
-
-func ExampleCholesky() {
-       // Construct a symmetric positive definite matrix.
-       tmp := mat.NewDense(4, 4, []float64{
-               2, 6, 8, -4,
-               1, 8, 7, -2,
-               2, 2, 1, 7,
-               8, -2, -2, 1,
-       })
-       var a mat.SymDense
-       a.SymOuterK(1, tmp)
-
-       fmt.Printf("a = %0.4v\n", mat.Formatted(&a, mat.Prefix("    ")))
-
-       // Compute the cholesky factorization.
-       var chol mat.Cholesky
-       if ok := chol.Factorize(&a); !ok {
-               fmt.Println("a matrix is not positive semi-definite.")
-       }
-
-       // Find the determinant.
-       fmt.Printf("\nThe determinant of a is %0.4g\n\n", chol.Det())
-
-       // Use the factorization to solve the system of equations a * x = b.
-       b := mat.NewVecDense(4, []float64{1, 2, 3, 4})
-       var x mat.VecDense
-       if err := chol.SolveVec(&x, b); err != nil {
-               fmt.Println("Matrix is near singular: ", err)
-       }
-       fmt.Println("Solve a * x = b")
-       fmt.Printf("x = %0.4v\n", mat.Formatted(&x, mat.Prefix("    ")))
-
-       // Extract the factorization and check that it equals the original matrix.
-       t := chol.LTo(nil)
-       var test mat.Dense
-       test.Mul(t, t.T())
-       fmt.Println()
-       fmt.Printf("L * L^T = %0.4v\n", mat.Formatted(&a, mat.Prefix("          ")))
-
-       // Output:
-       // a = ⎡120  114   -4  -16⎤
-       //     ⎢114  118   11  -24⎥
-       //     ⎢ -4   11   58   17⎥
-       //     ⎣-16  -24   17   73⎦
-       //
-       // The determinant of a is 1.543e+06
-       //
-       // Solve a * x = b
-       // x = ⎡  -0.239⎤
-       //     ⎢  0.2732⎥
-       //     ⎢-0.04681⎥
-       //     ⎣  0.1031⎦
-       //
-       // L * L^T = ⎡120  114   -4  -16⎤
-       //           ⎢114  118   11  -24⎥
-       //           ⎢ -4   11   58   17⎥
-       //           ⎣-16  -24   17   73⎦
-}
-
-func ExampleCholesky_SymRankOne() {
-       a := mat.NewSymDense(4, []float64{
-               1, 1, 1, 1,
-               0, 2, 3, 4,
-               0, 0, 6, 10,
-               0, 0, 0, 20,
-       })
-       fmt.Printf("A = %0.4v\n", mat.Formatted(a, mat.Prefix("    ")))
-
-       // Compute the Cholesky factorization.
-       var chol mat.Cholesky
-       if ok := chol.Factorize(a); !ok {
-               fmt.Println("matrix a is not positive definite.")
-       }
-
-       x := mat.NewVecDense(4, []float64{0, 0, 0, 1})
-       fmt.Printf("\nx = %0.4v\n", mat.Formatted(x, mat.Prefix("    ")))
-
-       // Rank-1 update the factorization.
-       chol.SymRankOne(&chol, 1, x)
-       // Rank-1 update the matrix a.
-       a.SymRankOne(a, 1, x)
-
-       au := chol.ToSym(nil)
-
-       // Print the matrix that was updated directly.
-       fmt.Printf("\nA' =        %0.4v\n", mat.Formatted(a, mat.Prefix("            ")))
-       // Print the matrix recovered from the factorization.
-       fmt.Printf("\nU'^T * U' = %0.4v\n", mat.Formatted(au, mat.Prefix("            ")))
-
-       // Output:
-       // A = ⎡ 1   1   1   1⎤
-       //     ⎢ 1   2   3   4⎥
-       //     ⎢ 1   3   6  10⎥
-       //     ⎣ 1   4  10  20⎦
-       //
-       // x = ⎡0⎤
-       //     ⎢0⎥
-       //     ⎢0⎥
-       //     ⎣1⎦
-       //
-       // A' =        ⎡ 1   1   1   1⎤
-       //             ⎢ 1   2   3   4⎥
-       //             ⎢ 1   3   6  10⎥
-       //             ⎣ 1   4  10  21⎦
-       //
-       // U'^T * U' = ⎡ 1   1   1   1⎤
-       //             ⎢ 1   2   3   4⎥
-       //             ⎢ 1   3   6  10⎥
-       //             ⎣ 1   4  10  21⎦
-}