mirror of
https://github.com/gonum/gonum.git
synced 2025-10-05 15:16:59 +08:00
55 lines
1.1 KiB
Go
55 lines
1.1 KiB
Go
// 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 ExampleSymDense_SubsetSym() {
|
|
n := 5
|
|
s := mat.NewSymDense(5, nil)
|
|
count := 1.0
|
|
for i := 0; i < n; i++ {
|
|
for j := i; j < n; j++ {
|
|
s.SetSym(i, j, count)
|
|
count++
|
|
}
|
|
}
|
|
fmt.Println("Original matrix:")
|
|
fmt.Printf("%0.4v\n\n", mat.Formatted(s))
|
|
|
|
// Take the subset {0, 2, 4}
|
|
var sub mat.SymDense
|
|
sub.SubsetSym(s, []int{0, 2, 4})
|
|
fmt.Println("Subset {0, 2, 4}")
|
|
fmt.Printf("%0.4v\n\n", mat.Formatted(&sub))
|
|
|
|
// Take the subset {0, 0, 4}
|
|
sub.SubsetSym(s, []int{0, 0, 4})
|
|
fmt.Println("Subset {0, 0, 4}")
|
|
fmt.Printf("%0.4v\n\n", mat.Formatted(&sub))
|
|
|
|
// Output:
|
|
// Original matrix:
|
|
// ⎡ 1 2 3 4 5⎤
|
|
// ⎢ 2 6 7 8 9⎥
|
|
// ⎢ 3 7 10 11 12⎥
|
|
// ⎢ 4 8 11 13 14⎥
|
|
// ⎣ 5 9 12 14 15⎦
|
|
//
|
|
// Subset {0, 2, 4}
|
|
// ⎡ 1 3 5⎤
|
|
// ⎢ 3 10 12⎥
|
|
// ⎣ 5 12 15⎦
|
|
//
|
|
// Subset {0, 0, 4}
|
|
// ⎡ 1 1 5⎤
|
|
// ⎢ 1 1 5⎥
|
|
// ⎣ 5 5 15⎦
|
|
}
|