williamdiao

40 Reputation

4 Badges

7 years, 242 days

MaplePrimes Activity


These are replies submitted by williamdiao

@vv 

Thanks for your help. I actually just want to know whether the solution exists. Using rank() here seems to be a more robust way for me.

@tomleslie 

I am just saying that maple is giving me wrong solutions...

I plugged in 0 for all variables back to the system to verify, and it is not getting equalities, that is why I say it is not homogeneous...

I know Maple is a commercial software, you know, all softwares can have bugs...

Since solving large linear systems is a complicated problem even in the numerical world, I don't know how maple handles it in the symbolic way.

I attach my code here if you are interested to read it. You can just read from the later part to set up the equations and solve. I have 1020 variables and 440 linear equations. When I set all the free variables to 0, and plug in back to the equations, I cannot get equalities.

 

functions.txt

WrongSol.mw

@tomleslie 

Exactly as you said. The solution solve() gives shows that all variables are free, that is, I can take all 0 as my solution.

However, I do know that my system is not homogenous, that is, 0 is not a solution. So I am asking if there is anything wrong with solve()? I am guessing maybe solve() is using some iterative algorithms, and terminate without getting exact solution?

William

@acer 

Thanks! It works. I guess I just should combine the 2 functions.

William

@vv 

Thanks for the answer below. I didn't use the method you proposed before because I am not an expert in algebra.

I tried the generic function you mentioned and didn't get it work properly:

C[`0`]:=0: 
C[`1`]:=1: 
C[`+`]:=`+`: 
C[`-`]:=`-`: 
C[`*`]:=`*`: 
C[`=`]:= `=`:
C[Quo]:= quo:
C[Rem] := rem:
C[EuclideanNorm] := a -> degree(a,z):
C[Gcdex] := (a,b,s,t)->gcdex(a,b,z,s,t):
C[UnitPart] := sign:

A:=Matrix([[I*z-1, z+I], [z+I, z+I]]);

And I got error when calling the generic function:

LinearAlgebra:-Generic:-SmithForm[C](A, output=['S','U','V']);
Error, (in quo) wrong number (or type) of arguments

Am I making some mistakes in defining the Euclidean Domain?

Thanks!

William

@Thomas Richard 

Thanks! This helps~

I might try to use your method to factorize the elements first. However, I am worrying that, since the document says the function only works for Q, will it always give me correct answers for the factorized complex polynomial matrices? Or it just works for this simple case by luck?

By the way, I am using Maple 2015.

Thanks again!

William

Page 1 of 1