Function: [L, U] = mpfr_matrix_sqr_d (XL, XU)

Compute the lower and upper boundary of the matrix square of interval matrix [XL, XU].

The result is guaranteed to be tight. That is, the matrix square is evaluated with (virtually) infinite precision and the exact result is approximated with binary64 numbers using directed rounding.

Unlike X * X this function avoids the dependency problem during computation and produces a better enclosure. The algorithm has been implemented after “Feasible algorithm for computing the square of an interval matrix” in O. Kosheleva, V. Kreinovich, G. Mayer, and H. T. Nguyen (2005): Computing the cube of an interval matrix is NP-hard. In SAC ’05: Proc. of the 2005 ACM Symposium on Applied Computing, pages 1449–1453, 2005.

m = magic (3);
[l, u] = mpfr_matrix_sqr_d (m, m + 1)
 ⇒ l = 
    91   67   67
    67   91   67
    67   67   91
   u = 
    124   100   100
    100   124   100
    100   100   124

See also: mpower.

Package: interval