axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

## [Axiom-developer] [#261 Strange matrix addition] (new)

 From: Ralf Hemmecke Subject: [Axiom-developer] [#261 Strange matrix addition] (new) Date: Wed, 01 Feb 2006 03:42:45 -0600

Changes http://wiki.axiom-developer.org/261StrangeMatrixAddition/diff
--
Adding two square matrices of different dimension should result in an error.
Axiom returns something that looks more like a tensor product.

The implementation of + for SquareMatrix is inherited from Matrix
(src/algebra/matrix.spad.pamphlet). Matrix inherits + from the default
implementation in MatrixCategory (src/algebra/matcat.spad.pamphlet).
There it says
"+": (%,%) -> %
++ \spad{x + y} is the sum of the matrices x and y.
++ Error: if the dimensions are incompatible.
and is implemented by default through:
x + y ==
((r := nrows x) ^= nrows y) or ((c := ncols x) ^= ncols y) =>
error "can't add matrices of different dimensions"
ans := new(r,c,0)
for i in minr(x)..maxr(x) repeat
for j in minc(x)..maxc(x) repeat
qsetelt_!(ans,i,j,qelt(x,i,j) + qelt(y,i,j))
ans

I have no idea why the following code returns something of type
SquareMatrix(2,SquareMatrix(3,Integer)).

\begin{axiom}
S d ==> SquareMatrix(d,Integer)
a2: S(2) := 1
a3: S(3) := 1
a2 + a3
\end{axiom}

--
forwarded from http://wiki.axiom-developer.org/address@hidden



reply via email to

 [Prev in Thread] Current Thread [Next in Thread]
• [Axiom-developer] [#261 Strange matrix addition] (new), Ralf Hemmecke <=