IMPRODUCT Function (OpenOffice Calc)
Multiply complex values in Apache OpenOffice, with cross-term examples, conjugate checks and the tested all-empty result.
Verification status: Eight reference formulas and 4 diagnostic cases were recalculated in Apache OpenOffice 4.1.16 on Linux x86-64, Build 9816, using XLSX import and GUI hard recalculation. Saved formula identities and typed results were checked. How formula examples are checked
Quick answer: =IMPRODUCT("3+4i";"1-2i") returned 11-2i in the tested Apache OpenOffice 4.1.16 build.
Availability and version history
- Introduced: First release not established; documented by OpenOffice.org 3.3.
- Supported in: Apache OpenOffice 4.1.16; this identifies a verified release, not a final supported version.
- Scope: Desktop Calc with its Analysis add-in, English function names and semicolon-separated formulas.
- Checked: October 14, 2026. Eight reference formulas and the listed diagnostics were recalculated after XLSX import in 4.1.16 on Linux x86-64, Build 9816. Source and independent reference calculations were also checked.
What IMPRODUCT returns
IMPRODUCT multiplies one or more complex values and returns formatted complex-number text. It uses full complex multiplication, including the negative contribution from i²=−1. Multiplying the real components and imaginary components separately does not compute the same operation. Release entry.
Syntax and arguments
=IMPRODUCT(ComplexNumber1 [; ComplexNumber2; …])
Provide a first complex value or range and optional further values or ranges. The collection code skips empty entries and rejects nonempty strings that cannot be parsed. Real numeric entries act as real factors. Lowercase i and j are recognized imaginary-unit suffixes.
Reproducible examples
The native column records the saved 4.1.16 results. The native strings are retained exactly. Independent component references are rounded to twelve decimal places, with rounded negative zero shown as zero. A tiny stored residual can therefore appear in the native string beside a reference component rounded to zero. Every successful result below is string-typed, including pure real-looking outputs.
| Formula | Native 4.1.16 string | Independent (real, imaginary) reference |
|---|---|---|
=IMPRODUCT("3+4i";"1-2i") |
11-2i |
(11, -2) |
=IMPRODUCT("3-4i";"1+2i") |
11+2i |
(11, 2) |
=IMPRODUCT("-3+4i";"2+i") |
-10+5i |
(-10, 5) |
=IMPRODUCT("-3-4i";"2-i") |
-10-5i |
(-10, -5) |
=IMPRODUCT("1";"2") |
2 |
(2, 0) |
=IMPRODUCT("i";"2i") |
-2 |
(-2, 0) |
=IMPRODUCT("-1";"i") |
-i |
(0, -1) |
=IMPRODUCT("0.5+0.25i";"0.25-0.5i") |
0.25-0.1875i |
(0.25, -0.1875) |
Practical worksheet
=IMPRODUCT("3+4i";"1-2i") returns 11-2i. Expanding the product gives 3−6i+4i−8i²=11−2i. Showing this expansion alongside the first worksheet result makes a missing cross term easy to spot.
For factors stored in A2:A3, =IMPRODUCT(A2:A3) follows the inspected range-collection contract. The native reference table tests literal arguments, so this range layout is explanatory guidance. Use consistent conventions when the values represent gains or phase changes.
Advanced interpretation and checks
For z=a+bi and w=c+di, zw=(ac−bd)+(ad+bc)i. Magnitudes multiply: |zw|=|z||w|. In the first example, |11−2i|=√125=5√5≈11.180339887.
Multiplying a value by its conjugate gives a real nonnegative number: (3+4i)(3−4i)=25. Multiplication by i rotates a complex value by a quarter turn, so i²=−1; it does not leave the imaginary component unchanged.
The mathematical product is commutative and associative, but intermediate floating-point overflow, underflow or rounding can make an ordering choice matter numerically. The ordinary examples do not establish safe magnitudes for every number of factors.
Boundaries and troubleshooting
Empty entries are skipped rather than treated as zero factors. However, if the collected list has no entries at all, this implementation returns the string 0, not the mathematical empty-product convention 1. The explicit empty-string cases below preserve that behavior.
A nonempty malformed complex string is an error. Do not silently replace a missing multiplier with zero or one unless the model explicitly requires that choice. A returned string may omit a zero imaginary component without becoming evidence of ordinary numeric multiplication.
These additional formulas were recalculated through the same import path. Error displays are retained as errors, even when an ODS numeric attribute stores zero.
| Formula | Observed result or error |
|---|---|
=IMPRODUCT("abc";2) |
Err:502 |
=IMPRODUCT("";2) |
2 |
=IMPRODUCT("") |
0 |
=IMPRODUCT("3+4j";"1-2j") |
11-2j |
Other spreadsheet implementations
The IMPRODUCT guide for Calligra Sheets documents that product’s own syntax and tested behavior. A shared function name does not guarantee the same argument conversion, text parsing, branch or precision rules.
Official evidence and checking scope
- Function-specific release entry
- Complex algorithm or collection helper
- Strict complex-string parser
- Finite-output string formatter
The saved ODS retained every tested formula identity. A deliberately stale SUM cache changed from 999999 to 3, and an uncached SUM returned 7 after hard recalculation. Native evidence covers the eight reference formulas and listed diagnostics only. Other explanatory compositions are independent mathematical checks; other releases, locales and extreme-value behavior were not established by this run.