func (array sparseDiagF64Matrix) Concat(axis int, others ...NDArray) NDArray {
	return Concat(axis, &array, others...)
}
Create a new array by concatenating this with another array along the
specified axis. The array shapes must be equal along all other axes.
It is legal to add a new axis.
package matrix
import (
	"fmt"
)
type sparseDiagF64Matrix struct {
	shape []int
	diag  []float64
}
func (array sparseDiagF64Matrix) Add(other ...NDArray) NDArray {
	return Add(&array, other...)
}
func (array sparseDiagF64Matrix) All() bool {
	return false
}
func (array sparseDiagF64Matrix) AllF(f func(v float64) bool) bool {
	return AllF(&array, f)
}
func (array sparseDiagF64Matrix) AllF2(f func(v1, v2 float64) bool, other NDArray) bool {
	return AllF2(&array, f, other)
}
func (array sparseDiagF64Matrix) Any() bool {
	for _, v := range array.diag {
		if v != 0 {
			return true
		}
	}
	return false
}
func (array sparseDiagF64Matrix) AnyF(f func(v float64) bool) bool {
	return AnyF(&array, f)
}
func (array sparseDiagF64Matrix) AnyF2(f func(v1, v2 float64) bool, other NDArray) bool {
	return AnyF2(&array, f, other)
}
func (array sparseDiagF64Matrix) Apply(f func(float64) float64) NDArray {
	return Apply(&array, f)
}
func (array sparseDiagF64Matrix) Array() []float64 {
	return array.Dense().Array()
}
func (array sparseDiagF64Matrix) ColSet(col int, values []float64) {
	if col < 0 || col >= array.shape[1] {
		panic(fmt.Sprintf("ColSet can't set col %d of a %d-col array", col, array.shape[1]))
	} else if len(values) != array.shape[0] {
		panic(fmt.Sprintf("ColSet has %d rows but got %d values", array.shape[0], len(values)))
	}
	for row := 0; row < array.shape[0]; row++ {
		if row != col {
			if values[row] != 0 {
				panic(fmt.Sprintf("ColSet can't set cell (%d, %d) of a %dx%d sparse diagonal matrix", row, col, array.shape[0], array.shape[1]))
			}
		} else {
			array.diag[row] = values[row]
		}
	}
}
func (array sparseDiagF64Matrix) Col(col int) []float64 {
	if col < 0 || col >= array.shape[1] {
		panic(fmt.Sprintf("Can't get column %d from a %dx%d array", col, array.shape[0], array.shape[1]))
	}
	result := make([]float64, array.shape[1])
	result[col] = array.diag[col]
	return result
}
func (array sparseDiagF64Matrix) Cols() int {
	return array.shape[1]
}