:

## LinearAlgebra has problems superseding linalg's functionality

Maple
I kept seeing in the help pages for linalg that it is being superseded by LinearAlgebra, so I have tried to work with LinearAlgebra. However, it turns out that LinearAlgebra is very clumsy and annoying for symbolic computations. LinearAlgebra was clearly meant to be a numerical calculation package. Unfortunately, the desiderata for numerical calculations are not the same as for symbolic calculations. The main feature of LinearAlgebra which causes this clumsiness is the requirement that all elements of a Matrix be defined. To do symbolic calculations this means assigning a symbol to use with an index for the undefined elements of the Matrix. The name of this symbol has to be different from that of the Matrix itself, and the indexed symbol is not an array or a table or a Matrix. Already then you have two names for essentially the same thing. ==> First Problem. Now, lets say you do some calculations with these Matrices and end up with expressions that that contain the indexed symbolic names. To assign other values to these indexed symbolic names in the resulting expressions, you have to assign the indexed symbolic names new values and you cannot use matrix operations for that since these indexed symbolic names are not arrays or Matrices or even tables. ==> Second Problem. Now if you want to unassign the symbolic names again or assign new values and have these values show up in the original Matrices, you have to reassign the symbolic names and reassign the values in the original Matrices. (Matrix elements cannot be unassigned.) In other words, do the job twice. ==> Third Problem. These problems could be avoided if Matrices could have undefined symbolic elements whose names were the same as those of the Matrices themselves, if the elements of the Matrix could be unassigned, and if assigning values to the unassigned elements of a Matrix would then effect all expressions defined in terms of these symbolic names of the Matrix elements. This would mean one operation to do one task, and it would mean that one could work with Matrices in the usual symbolic way. Could Maple developers please give this some thought.

﻿