torch.Tensor.Tensor.reciprocal
Reciprocal (element-wise inverse).
Computes 1/x for each element. Undefined at x=0 which produces inf/-inf. Used in division operations and normalization techniques.
Use Cases:
- Computing inverse/reciprocal relationships
- Probabilistic model computations
- Impedance and resistance calculations
- Harmonic mean and rate calculations
- Normalization by sum/mean
- Singularity: reciprocal(0) = inf (undefined mathematically)
- Inverse: reciprocal(reciprocal(x)) = x
- Gradient magnitude: Gradient becomes large for small x
- Division by zero: x=0 produces Infinity or NaN
- Numerical instability: For very small x, gradient becomes very large
Returns
Tensor<S, D, Dev>– New tensor with reciprocal applied element-wiseExamples
// Basic reciprocal
const x = torch.tensor([1, 2, 4, 0.5]);
const result = x.reciprocal(); // [1, 0.5, 0.25, 2]
// Invert probabilities for odds ratio
const probs = torch.tensor([0.1, 0.5, 0.9]);
const odds = probs.reciprocal().sub(1).reciprocal(); // odds from probs
// Harmonic mean (1/mean(1/x))
const values = torch.tensor([2, 4, 6, 8]);
const harmonic_mean = values.reciprocal().mean().reciprocal();
// Normalization by value magnitude
const scales = torch.tensor([0.5, 2, 4]);
const normalized = torch.randn(10, 3).mul(scales.reciprocal());See Also
- PyTorch tensor.reciprocal()
- reciprocal_ - In-place version
- rsqrt - Reciprocal square root (1/sqrt(x))
- div - Element-wise division