Skip to content
This repository has been archived by the owner on Nov 17, 2023. It is now read-only.

[MXNET-978] Higher Order Gradient Support arcsin, arccos. #15515

Merged
Prev Previous commit
Next Next commit
add small note for computation
  • Loading branch information
kshitij12345 committed Jul 11, 2019
commit 7daaf765de045fc7839e8639d77cf08c10f3fe9c
2 changes: 2 additions & 0 deletions src/operator/tensor/elemwise_unary_op_trig.cc
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,7 @@ MXNET_OPERATOR_REGISTER_BINARY_WITH_SPARSE_CPU_DR(_backward_arcsin,
// f(x) = arcsin(x)
// n: f'(x) = 1/(1-x^2)^1/2
// f''(x) = f'(x) * x/(1-x^2)
// Note: x/(1-x^2) = x * f'(x)^2
auto dydx = n->inputs[0];
auto x = n->inputs[1];
auto dydx_mul_grad_x = nnvm::NodeEntry{n};
Expand Down Expand Up @@ -217,6 +218,7 @@ MXNET_OPERATOR_REGISTER_BINARY_WITH_SPARSE_CPU_DR(_backward_arccos,
// f(x) = arccos(x)
// n: f'(x) = -1/(1-x^2)^1/2
// f''(x) = f'(x) * x/(1-x^2)
// Note: x/(1-x^2) = x * f'(x)^2
auto dydx = n->inputs[0];
auto x = n->inputs[1];
auto dydx_mul_grad_x = nnvm::NodeEntry{n};
Expand Down