IMPOWER Function (Calligra Sheets)
Raise complex values to real or complex powers with Calligra Sheets IMPOWER, including principal branches and engine-only zero-base cautions.
Verification status: 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: =IMPOWER(COMPLEX(3;4);COMPLEX(2;0)) gives (-7,24) 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 IMPOWER returns
IMPOWER raises a complex base to a complex exponent in the inspected implementation. For a nonzero base, the ordinary principal-power model is EXP(exponent×principal LN(base)). Integer powers also agree mathematically with repeated multiplication, but floating-point methods can leave small residuals. Function help.
Syntax and arguments
=IMPOWER(base;exponent)
Exactly two arguments are required: base and exponent. The help syntax omits the exponent, while registration and implementation require it. Both arguments pass through complex conversion, so the tested exponent is not restricted to a real number. 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. 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 |
|---|---|
=IMPOWER(COMPLEX(3;4);COMPLEX(2;0)) |
(-7,24) |
=IMPOWER(COMPLEX(3;-4);COMPLEX(2;0)) |
(-7,-24) |
=IMPOWER(COMPLEX(-1;0);COMPLEX(0.5;0)) |
(0,1) |
=IMPOWER(COMPLEX(0;1);COMPLEX(2;0)) |
(-1,0) |
=IMPOWER(COMPLEX(2;0);COMPLEX(-1;0)) |
(0.5,0) |
=IMPOWER(COMPLEX(1;0);COMPLEX(0;1)) |
(1,0) |
=IMPOWER(COMPLEX(0;1);COMPLEX(0;1)) |
(0.207879576351,0) |
=IMPOWER(COMPLEX(0.5;0.25);COMPLEX(3;0)) |
(0.03125,0.171875) |
Practical worksheet
=IMPOWER(COMPLEX(3;4);2) gives approximately −7+24i. Direct multiplication gives real component 3²−4²=−7 and imaginary component 2×3×4=24. The recorded real component differs from −7 only in the final stored digits.
For a negative real exponent, =IMPOWER(COMPLEX(2;0);-1) gives 0.5+0i. A fractional exponent selects a branch: the tested square-root power of −1+0i is approximately +i. Do not interpret a single returned power as all possible roots.
Advanced interpretation and checks
A complex exponent can produce a real result. The executed =IMPOWER(COMPLEX(-1;0);COMPLEX(0;1)) returned approximately 0.043213918264, equal to e^(−π) for the principal logarithm of −1. The table also includes i^i=e^(−π/2), approximately 0.207879576351.
Because powers depend on a selected logarithm, familiar real identities involving nested fractional powers can fail without branch restrictions. For example, taking a principal square root after squaring a negative real value can lose its original sign. State the intended branch when a model needs more than the principal result.
Input boundaries and cautions
The tested zero-base cases were nonfinite: IMPOWER(0;0) exposed NaN in both components, while IMPOWER(0;−1) exposed positive infinity and NaN. The engine error flag stayed false. Do not replace these with a conventional 1 or a guessed spreadsheet error; GUI-cell behavior was not tested.
Invalid base text became zero, while invalid exponent text became zero and made IMPOWER(2;“abc”) return 1. This can conceal malformed data. The one-argument and three-argument calls produced #VALUE!. Validate both components of both inputs before interpreting the result.
| Formula | Engine result |
|---|---|
=IMPOWER("3+4i";2) |
(-7,24) |
=IMPOWER("3+4j";2) |
(-7,24) |
=IMPOWER("abc";2) |
(0,0) |
=IMPOWER(2;"abc") |
(1,0) |
=IMPOWER(0;0) |
(NaN,NaN) |
=IMPOWER(0;-1) |
(+Infinity,NaN) |
=IMPOWER(TRUE();2) |
(1,0) |
=IMPOWER(2) |
#VALUE! |
=IMPOWER(2;3;4) |
#VALUE! |
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.