11

I have a set of MxM symmetric matrix Variables in a graph whose values I'd like to optimize.

Is there a way to enforce the symmetric condition?

I've thought about adding a term to the loss function to enforce it, but this seems awkward and roundabout. What I'd hoped for is something like tf.matmul(A,B,symmA=True) where only a triangular portion of A would be used and learned. Or maybe something like tf.upperTriangularToFull(A) which would create a dense matrix from a triangular part.

Mark Borgerding
  • 8,117
  • 4
  • 30
  • 51

1 Answers1

3

What if you do symA = 0.5 * (A + tf.transpose(A))? It is inefficient but at least it's symmetric.

Aaron
  • 2,354
  • 1
  • 17
  • 25