# Question:Program doesn't get answer

## Question:Program doesn't get answer

Maple

Hi, I want to ask. the maple program that i have done have something wrong somewhere.

for an example changes basis

from e_{1}e_{1}=e_{1} , e_{1}e_{2}=e_{2} maple program reading :A1 : (1,1,1)=1,B1: (1,2,2)=1

to e_{2}e_{2}=e_{2} , e_{2}e_{1}=e_{1} maple program reading :A2: (2,2,2)=1,B2: (2,1,1)=1

these changes basis above are 2 operation, left product and right product

A1 and A2 are left product, while B1 and B2 are right product,

i need to make A1 isomorphic to A2, and B1 isomorphic to B2.

by using maple program, i should get identity in matrix form 2x2

[0 1] but i get [0         1]

[1 0],            [C_{21} 0],

For isomorphism, the determinant should not be zero

here's are my maple program:

>isom := proc (A1, A2, B1, B2, n)

local i, j, k, s, r, eqns, t, TEST, BChange, sols, m, S1, S2, C;

C := matrix(n, n);

BChange := matrix(n, n);

TEST := 0; eqns := {};

for i to n do for j to n do for m to n do

S1 := sum(A1[i, j, k]*C[k, m], k = 1 .. n); S2 := sum(C[i, r]*(sum(A2[r, s, m]*C[j, s], s = 1 .. n)), r = 1 .. n);

eqns := `union`(eqns, {S1 = S2})

end do end do end do;

for i to n do for j to n do for m to n do

S1 := sum(B1[i, j, k]*C[k, m], k = 1 .. n); S2 := sum(C[i, r]*(sum(C[j, s]*B2[r, s, m], s = 1 .. n)), r = 1 .. n);

eqns := `union`(eqns, {S1 = S2})

end do end do end do;

sols := [solve(eqns)];

t := nops(sols);

for i to t do for j to n do for k to n do

BChange[k, j] := subs(sols[i], C[k, j])

end do end do;

if simplify(linalg:-det(BChange)) <> 0 then print("BChange", BChange);

print("s1", S1); print("s2", S2); print("The det is", simplify(linalg:-det(BChange)));

TEST := 1 end if end do;

if TEST = 0 then print("These two algebras are not isomorphic")

end if end proc

input maple program:

> DENDA1 := array(sparse, 1 .. 2, 1 .. 2, 1 .. 2, [(1, 1, 1) = 1]);
> DENDB1 := array(sparse, 1 .. 2, 1 .. 2, 1 .. 2, [(1, 2, 2) = 1]);
> DENDA2 := array(sparse, 1 .. 2, 1 .. 2, 1 .. 2, [(2, 2, 2) = 1]);
> DENDB2 := array(sparse, 1 .. 2, 1 .. 2, 1 .. 2, [(2, 1, 1) = 1]);
> isom(DENDA1, DENDA2, DENDB1, DENDB2, 2);

﻿