mat: Add Scale method for TriDense and Cholesky (#267)

* mat: Add Scale method for TriDense and Cholesky
This commit is contained in:
Brendan Tracey
2017-10-19 07:24:29 -06:00
committed by GitHub
parent 38fbc22caf
commit ac9ad9e533
5 changed files with 173 additions and 0 deletions

View File

@@ -131,6 +131,32 @@ func legalTypeSym(a Matrix) bool {
return ok
}
// legalTypeTri returns whether a is a Triangular.
func legalTypeTri(a Matrix) bool {
_, ok := a.(Triangular)
return ok
}
// legalTypeTriLower returns whether a is a Triangular with kind == Lower.
func legalTypeTriLower(a Matrix) bool {
t, ok := a.(Triangular)
if !ok {
return false
}
_, kind := t.Triangle()
return kind == Lower
}
// legalTypeTriUpper returns whether a is a Triangular with kind == Upper.
func legalTypeTriUpper(a Matrix) bool {
t, ok := a.(Triangular)
if !ok {
return false
}
_, kind := t.Triangle()
return kind == Upper
}
// legalTypesSym returns whether both input arguments are Symmetric.
func legalTypesSym(a, b Matrix) bool {
if _, ok := a.(Symmetric); !ok {