## 15 Reputation

8 years, 243 days

## Matrix multiplition still does not work ...

I brought a problem with the MatrixMatrixMultiply function to the attention of Maple Support way back with Maple 2020, and again with Maple 2021.

Nothing was done to fix the issue then, but I thought that Maplesoft might be bothered addressing the issue in the latest release.

Unfortunately, with the latest release, Maplesoft have shown yet again that they are very able when wasting time fiddling with interfaces and other gimmicks, but thorougly incapable of address serious issues that affect the functionality and qualtiy of their software.

Disgraceful and unprofessional behaviour by the company, its programmers and its support team.

## no sparse routine...

Thank you Roman for your response.

I tried doing some work with some sparse 4000 by 4000 matrices whose non-zero entries are either 1 or \$x\$, where \$x\$ is an indeterminate over the integers. In this case the output should also have been matrices with small degree monomial entries. After more than one week with no result, I terminated the calculation.

Maple currently seems to be far too slow for any real sized problem that involves algebraic manipulation of matrices with non-float, ie in this case rational or polynomial, entries.

Any chance that this issue can be addressed?

## Density degree and pattern...

Thank you Carl for your response to my query.

In the 674 dimensional example, the maximal degree for the numerator and denominator entries p(x)/q(x) in the matrices over \$Q(x)\$ is 5. The maximum density of non-zero entries is approximately 0.8%.

If I change the basis so that the matrices are over Z[x], the maximum degree becomes 1.  Actually, the original problem involves either starting with a collection rational matrices over Q(x), which act on a vector space V over Q(x), and doing a lot of matrix multiplications and additions in order to construct a basis over the integers Z[x] for an integral subspace of V, or vice versa.

Here is the result of the 34 second calculation, run on a slightly older computer this time

CodeTools:-Usage((LinearAlgebra[MatrixMatrixMultiply](A,A)));
memory used=4.58GiB, alloc change=-236.99MiB, cpu time=46.82s, real time=47.56s, gc time=22.09s

This time, I ran it on a slightly older and slower i7-2620 M CPU @2.70 GHZ, which probably accounts for the extra time.

The structure of the matrices varies a lot, depending on whether they are over \$Q(x)\$ or \$Z[x]\$.  However, in the multiplication computed above, all non-zero entries happen to be close to the diagonal.

Suggestions?

 Page 1 of 1
﻿