aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/core/api_def/base_api/api_def_MatrixLogarithm.pbtxt
blob: a6c4d0d4008f368cd07bfcaafd0b3266a1f6207b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
op {
  graph_op_name: "MatrixLogarithm"
  visibility: HIDDEN
  in_arg {
    name: "input"
    description: <<END
Shape is `[..., M, M]`.
END
  }
  out_arg {
    name: "output"
    description: <<END
Shape is `[..., M, M]`.

@compatibility(scipy)
Equivalent to scipy.linalg.logm
@end_compatibility
END
  }
  summary: "Computes the matrix logarithm of one or more square matrices:"
  description: <<END

log(exp(A)) = A

This op is only defined for complex matrices. If A is positive-definite and
real, then casting to a complex matrix, taking the logarithm and casting back
to a real matrix will give the correct result.

This function computes the matrix logarithm using the Schur-Parlett algorithm.
Details of the algorithm can be found in Section 11.6.2 of:
Nicholas J. Higham, Functions of Matrices: Theory and Computation, SIAM 2008.
ISBN 978-0-898716-46-7.

The input is a tensor of shape `[..., M, M]` whose inner-most 2 dimensions
form square matrices. The output is a tensor of the same shape as the input
containing the exponential for all input submatrices `[..., :, :]`.
END
}