Contact

IMSUB Function (Calligra Sheets)

Engineering Intermediate Calligra Sheets

Subtract complex values with Calligra Sheets IMSUB. Learn the exact two-argument syntax, component arithmetic, cancellation checks and input coercions.

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: =IMSUB(COMPLEX(3;4);COMPLEX(1;-2)) gives (2,6) 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 IMSUB returns

IMSUB subtracts its second complex value from its first. For inputs a+bi and c+di, the result is (a−c)+(b−d)i. Argument order matters: reversing the arguments negates both components. Function help.

Syntax and arguments

=IMSUB(value1;value2)

Exactly two arguments are required. The help syntax shows an ellipsis, but the registered two-argument contract rejects one or three scalar arguments. The source accepts arrays internally; these examples establish scalar behavior only. 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
=IMSUB(COMPLEX(3;4);COMPLEX(1;-2)) (2,6)
=IMSUB(COMPLEX(3;-4);COMPLEX(1;2)) (2,-6)
=IMSUB(COMPLEX(-3;4);COMPLEX(2;1)) (-5,3)
=IMSUB(COMPLEX(-3;-4);COMPLEX(2;-1)) (-5,-3)
=IMSUB(COMPLEX(1;0);COMPLEX(2;0)) (-1,0)
=IMSUB(COMPLEX(0;1);COMPLEX(0;2)) (0,-1)
=IMSUB(COMPLEX(-1;0);COMPLEX(0;1)) (-1,-1)
=IMSUB(COMPLEX(0.5;0.25);COMPLEX(0.25;-0.5)) (0.25,0.75)

Practical worksheet

For a modeled observed value 3+4i and reference value 1−2i, =IMSUB(COMPLEX(3;4);COMPLEX(1;-2)) gives 2+6i. The imaginary subtraction is 4−(−2)=6, not 4−2. Write the signs clearly when checking the formula by hand.

If A2:B2 contains the observed components and C2:D2 the reference components, use =IMSUB(COMPLEX(A2;B2);COMPLEX(C2;D2)). Label the result “observed minus reference” so a later user does not silently reverse the convention.

Advanced interpretation and checks

Adding the reference back reconstructs the original value. The executed composition =IMSUM(IMSUB(COMPLEX(3;4);COMPLEX(1;-2));COMPLEX(1;-2)) returned (3,4). This checks both the subtraction order and the complex argument construction.

For the difference 2+6i, the magnitude is √40, approximately 6.324555320337. It is not the difference of the original magnitudes. Near-cancellation of almost equal inputs can make relative error in the small residual large, even when each input has a small absolute error.

Input boundaries and cautions

The tested i- and j-suffixed strings were accepted. Invalid text and an empty string became zero, so =IMSUB("abc";2) returned −2+0i rather than an error. Do not use successful evaluation to decide whether imported complex text was valid.

TRUE became 1. The calls with zero, one and three arguments all produced #VALUE!. Do not copy the help page’s variadic-looking syntax into a formula. To subtract several values, explicitly nest two-argument calls or add the subtrahends separately before subtracting.

Formula Engine result
=IMSUB("3+4i";"1-2i") (2,6)
=IMSUB("3+4j";"1-2j") (2,6)
=IMSUB("abc";2) (-2,0)
=IMSUB("";2) (-2,0)
=IMSUB(TRUE();2) (-1,0)
=IMSUB() #VALUE!
=IMSUB(3) #VALUE!
=IMSUB(3;2;1) #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.

The component callbacks perform the arithmetic, with a shared array walker. Registration, rather than an unreachable helper branch, determines the accepted scalar argument count.

Use COMPLEX to construct values from numeric components, IMABS for magnitude, and IMARGUMENT for principal phase.