PrecisionCalc
xl
Precision
Get Your Numbers Right

 

xlpMDETERM

Returns the matrix determinant of an array, with up to 32,767 significant digits of precision. Same as Excel's built-in MDETERM function, but with high precision.

 

xlpMDETERM was introduced in xlPrecision 2017. It is not included in versions 3.x.x and earlier.

 

Syntax

xlpMMULT(num_table,format_negative,format_thousands,format_currency,exponential_notation,
                  maximum_significant_digits,format_decimal_place)

num_table Required. The array for which to get the matrix determinant.
format_negative Optional. Determines whether negatives are formatted with a leading hyphen ("-"), or parentheses ("()"). Set to 1 to format negatives with a leading hyphen. Set to 2 for parentheses. 1 by default.

You can also format negatives with a red font.

format_thousands Optional. Determines whether thousands separators are included. Set to TRUE to include thousands separators. FALSE by default.
format_currency Optional. Determines whether currency symbol is included. Set to TRUE to include currency symbol. The currency symbol will be added either to the beginning or to the end of the result, whichever is appropriate for the locale. FALSE by default.
exponential_notation Optional. Determines whether result is formatted in exponential notation. Set to TRUE to format in exponential notation. FALSE by default.
maximum_significant_digits Optional. Determines the maximum number of significant digits to be returned. Default is 100, or the user's custom maximum set in the About box, or the maximum number allowed by the edition of xlPrecision, whichever is less.
format_decimal_place Optional. Determines whether to add or remove decimal places as required to return the exact specified number of decimal places.

When format_decimal_place causes decimal places to be removed, the remaining decimals are rounded, exactly as Excel's number formatting does.

Set format_decimal_place to the number of decimal places desired. For example, set to 3 to specify that the result should have exactly 3 decimal places, so that:

  • "123.4" is formatted as "123.400"
  • "12.3456" is formatted as "12.346"
  • "9.9999" is formatted as "10.000"


Use the Insert Function Dialog to easily enter these arguments:
(available on most editions of xlPrecision, but not recommended with the Free Edition as it causes the Free Edition dialog to appear multiple times)

   

  


Examples

Formula Description Result
=xlpMDETERM(A1:B2)
 
  A B
1 1 2
2 3 4
Matrix determinant of values in cells A1:B2

(1 x 4) - (2 x 3)

-2
=xlpMDETERM(A1:C3)
 
  A B C
1 3 2 6
2 8 7 5
3 1 9 4
Matrix determinant of values in cells A1:C3

(3 x ((7 x 4) - (5 x 9))) -

(2 x ((8 x 4) - (5 x 1))) +

(6 x ((8 x 9) - (7 x 1)))

 
285
=xlpMDETERM(A1:D4)
 
  A B C D
1 7.6 0.7 6.6 1.7
2 8.2 6.1 3.1 1.5
3 2.6 9.3 4.9 5.4
4 9.1 5.7 8.7 7.9
Matrix determinant of values in cells A1:D4

(7.6 x

(6.1 x ((4.9 x 7.9) - (5.4 x 8.7))) -

(3.1 x ((9.3 x 7.9) - (5.4 x 5.7))) +

(1.5 x ((9.3 x 8.7) - (4.9 x 5.7)))

) -

(0.7 x

(8.2 x ((4.9 x 7.9) - (5.4 x 8.7))) -

(3.1 x ((2.6 x 7.9) - (5.4 x 9.1))) +

(1.5 x ((2.6 x 8.7) - (4.9 x 9.1)))

) +

(6.6 x

(8.2 x ((9.3 x 7.9) - (5.4 x 5.7))) -

(6.1 x ((2.6 x 7.9) - (5.4 x 9.1))) +

(1.5 x ((2.6 x 5.7) - (9.3 x 9.1)))

) -

(1.7 x

(8.2 x ((9.3 x 8.7) - (4.9 x 5.7))) -

(6.1 x ((2.6 x 8.7) - (4.9 x 9.1))) +

(3.1 x  ((2.6 x 5.7) - (9.3 x 9.1)))

)

1395.5031
=xlpMDETERM(A1:B2)
 
  A B
1 111111111111111 2
2 3 0.444444444444444
Matrix determinant of values in cells A1:B2

(111111111111111 x 0.44444444444444) -
(2 x 3)

4938271604938255.
7283950617284
(29 significant digits)

Excel's MDETERM returns to 4938271604938250 (15 significant digits)

=xlpMDETERM(A1:B2)
 
  A B
1 "11111111111111111" 2
2 3 "0.44444444444444444"

To prevent Excel from truncating 11111111111111111 and 0.44444444444444444 to 15 digits, enter them in quotes as shown.

Matrix determinant of values in cells A1:B2

(11111111111111111 x 0.4444444444444444) - (2 x 3)

4938271604938265.
50617283950617284
(33 significant digits)

Excel's MDETERM cannot accept these inputs.

=xlpMDETERM(A1:B2,2)
 
  A B
1 1 2
2 3 4
Formatted with parentheses if negative (2)
=xlpMDETERM(A1:B2,,TRUE)
 
  A B
1 444 111
2 333 222
Formatted with localized thousands separators 61,605  (in the USA)
61.605  (in Germany)
61 605  (in France)
=xlpMDETERM(A1:B2,,,TRUE)
 
  A B
1 44 11
2 33 22
Formatted with the local currency symbol $605  (in the USA)
605 €  (in Germany)
605 kr  (in Estonia)
605Lek  (in Albania)
=xlpMDETERM(A1:B2,,,,TRUE)
 
  A B
1 44 11
2 33 22
Formatted in exponential notation 6.05E+2
=xlpMDETERM(A1:B2,,,,,500)
=xlpMDETERM(A1:B2,,,,,500000)
=xlpMDETERM(A1:B2,,,,,A3)
The matrix determinant is returned with up to 500 (or up to 500,000, or up to the number in A3) significant digits of precision.
=xlpMDETERM(A1:B2,,,,,3)
 
  A B
1 44 11
2 33 22
Formatted to 3 decimal places. 605.000

(padded with zeros to meet the specified number of decimal places)

=xlpMDETERM(A1:B2,,,,,2)
 
  A B
1 4.44 1.11
2 3.33 2.22
Formatted to 2 decimal places. 6.16

(rounded to fit the specified number of decimal places)

=xlpMDETERM(A1:B2,2,TRUE,TRUE,,500,2)
 
  A B
1 111 222
2 333 444
Formatted with:
  • parentheses if negative
  • localized thousands separators
  • local currency symbol
  • up to 500 significant digits of precision
  • 2 decimal places
($24,642.00) (in the USA)

(24.642,00 €)  (in Germany)

(24 642,00 €)  (in France)

(24 642.00 kr)  (in Estonia)

(24.642,00Lek)  (in Albania)


Remarks

 

See Also

xlpMMULT
 

 

xlPrecision Home Page
PrecisionCalc Home Page