IMTANH Function (Calligra Sheets)
Evaluate complex hyperbolic tangent in Calligra Sheets, with quotient checks, imaginary-axis poles and honest rounded-angle engine results.
Verification status: 18 selected formulas were executed through the Calligra Sheets 25.04.2 calculation engine library. Complex outputs are reported as components, not GUI-cell display. Version 26.08.2 was source-checked only. How formula examples are checked
Quick answer: =IMTANH(COMPLEX(3;4)) gives (1.000709536067,0.004908258067) in the tested Calligra calculation engine. The pair gives the real and imaginary components, not worksheet display text.
Availability and version history
- Introduced: First release not established; the name is present in Calligra 2.4.0 source.
- Supported in: Calligra Sheets 26.08.2, with no retirement established.
- Scope: Desktop Sheets with the Engineering module. Examples use English semicolon-separated formulas.
- Checked: October 14, 2026. Formulas were executed through the official 25.04.2 engine library and checked against source and independent mathematics. This is not GUI-cell or workbook-import evidence; 26.08.2 was source-checked, not executed.
What IMTANH returns
IMTANH returns tanh(z) = sinh(z)/cosh(z) where the denominator is nonzero. The real tanh range between −1 and 1 does not bound arbitrary complex values. Its mathematical poles lie at purely imaginary z = i(π/2+kπ). Function help.
Syntax and arguments
=IMTANH(complexValue)
Provide one complex value. COMPLEX(real;imaginary) constructs the components explicitly. For the imaginary-axis identities, the imaginary part represents an angle in radians. Registration and implementation, with versioned help.
Reproducible engine examples
Results are shown as (real,imaginary) component pairs, rounded to twelve decimal places, not a literal cell format. Tiny or very large values use thirteen significant digits in scientific notation. A component rounded to zero is shown as 0; the stored value may still contain a tiny residual or signed zero. NaN means not-a-number; infinity and NaN are not finite results.
| Formula | Engine result |
|---|---|
=IMTANH(COMPLEX(3;4)) |
(1.000709536067,0.004908258067) |
=IMTANH(COMPLEX(3;-4)) |
(1.000709536067,-0.004908258067) |
=IMTANH(COMPLEX(-3;4)) |
(-1.000709536067,0.004908258067) |
=IMTANH(COMPLEX(-3;-4)) |
(-1.000709536067,-0.004908258067) |
=IMTANH(COMPLEX(1;0)) |
(0.761594155956,0) |
=IMTANH(COMPLEX(0;1)) |
(0,1.557407724655) |
=IMTANH(COMPLEX(-1;0)) |
(-0.761594155956,0) |
=IMTANH(COMPLEX(0.5;0.25)) |
(0.485487281024,0.198055449951) |
Practical worksheet
For z = i, tanh(i) = i tan(1), approximately 0+1.557407724655i. This magnitude above 1 is valid and demonstrates why a real-only saturation interpretation can be misleading for complex inputs.
Use =IMTANH(COMPLEX(A2;B2)) with separately recorded components. A formula meant for a real response curve should not silently receive a nonzero imaginary component.
Advanced interpretation and checks
At z = 0.5+0.25i, the executed difference between IMTANH(z) and IMDIV(IMSINH(z);IMCOSH(z)) returned (0,0). This checks the quotient relationship at an ordinary point away from its poles.
Tanh is odd, and tanh(ib)=i tan(b). The latter relation explains both the table’s imaginary-axis value and the poles as b approaches π/2+kπ. Real-axis boundedness does not prevent this imaginary-axis growth.
The exact advanced-check formula was:
=IMSUB(IMTANH(COMPLEX(0.5;0.25));IMDIV(IMSINH(COMPLEX(0.5;0.25));IMCOSH(COMPLEX(0.5;0.25))))
Input boundaries and cautions
IMTANH(COMPLEX(0;PI()/2)) returned an imaginary component near 1.633123935320E16. This is a large finite value at a rounded near-pole input, not a finite exact value at iπ/2. Small input perturbations can cause very large changes near this denominator zero.
Malformed and empty text became zero, whose hyperbolic tangent is zero. Wrong argument counts generated #VALUE!. Keep parsing validity, pole proximity and error flags as separate checks.
| Formula | Engine result |
|---|---|
=IMTANH("3+4i") |
(1.000709536067,0.004908258067) |
=IMTANH("3+4j") |
(1.000709536067,0.004908258067) |
=IMTANH("abc") |
(0,0) |
=IMTANH("") |
(0,0) |
=IMTANH(TRUE()) |
(0.761594155956,0) |
=IMTANH(0) |
(0,0) |
=IMTANH() |
#VALUE! |
=IMTANH(1;2) |
#VALUE! |
=IMTANH(COMPLEX(0;PI()/2)) |
(0,1.63312393532E+16) |
Conversion evidence
The complex conversion helper explains the text and Boolean cases above. The inspected Engineering module and complex converter are byte-identical between 25.04.2 and 26.08.2. That source comparison does not establish every locale, import path or extreme-value case.
Related guides
Use COMPLEX to construct values from numeric components, IMABS for magnitude, and IMARGUMENT for principal phase.