LU decomposition: Difference between revisions

m
m (→‎{{header|REXX}}: added/changed statements, comments, and whitespace, used templates for the output sections.)
m (→‎Library gonum/matrix: library churn)
Line 1,261:
Output is same as from 2D solution.
 
===Library gonum/matrixmat===
<lang go>package main
 
Line 1,267:
"fmt"
 
"githubgonum.comorg/gonumv1/matrixgonum/mat64mat"
)
 
func main() {
showLU(mat64mat.NewDense(3, 3, []float64{
1, 3, 5,
2, 4, 7,
Line 1,277:
}))
fmt.Println()
showLU(mat64mat.NewDense(4, 4, []float64{
11, 9, 24, 2,
1, 5, 2, 6,
Line 1,285:
}
 
func showLU(a *mat64mat.Dense) {
fmt.Printf("a: %v\n\n", mat64mat.Formatted(a, mat64mat.Prefix(" ")))
var lu mat64mat.LU
lu.Factorize(a)
var l, u:= mat64lu.TriDenseLTo(nil)
lu := lu.LFromUTo(&lunil)
fmt.Printf("ul: %.5f\n\n", mat64mat.Formatted(&ul, mat64mat.Prefix(" ")))
u.UFrom(&lu)
fmt.Printf("lu: %.5f\n\n", mat64mat.Formatted(&lu, mat64mat.Prefix(" ")))
fmt.Printf("u: %.5f\n\n", mat64.Formatted(&u, mat64.Prefix(" ")))
fmt.Println("p:", lu.Pivot(nil))
}</lang>
1,707

edits