gorgonia.org/gorgonia@v0.9.17/operations_nondiff.go (about)

     1  package gorgonia
     2  
     3  import "github.com/pkg/errors"
     4  
     5  // DiagFlat takes the flattened value and creates a diagonal matrix from it.
     6  //
     7  // It is non-differentiable.
     8  func DiagFlat(a *Node) (*Node, error) {
     9  	if a.Shape().IsScalarEquiv() {
    10  		return nil, errors.Errorf("Cannot perform DiagFlat on a scalar equivalent node")
    11  	}
    12  	return ApplyOp(diagFlatOp{}, a)
    13  }