This is the commit for a fiz of the WxMaxima debug issue.
[maxima.git] / share / contrib / sarag / aliases.mac
blob758b0d4c61ac6314cb5d75a125361e3fb403efe9
1 /* Code by Fabrizio Caruso */
2 /* Modified by Alexandre Le Meur and Marie-Françoise Roy */
4 /* --------------------------------------------------- */
5 /* High level aliases */
6 /* --------------------------------------------------- */
8 /* --------------------------------------------------- */
9 /* Determinant */
11 det(A):=bareissDet(A);
13 elim(A) := gaussElim(A);
15 /* --------------------------------------------------- */
16 /* Characteristic polynomial */
17 /* other methods : Gauss or Bareiss */
19 charPol(A,var) := babyGiantCharPol(A,var);
21 /* --------------------------------------------------- */
22 /* Cauchy Index */
24 /* The method chosen by default is the one with the subresultants */
25 /* other methods : Signed Remainder Sequence */
27 cauchyIndexBetween(q,p,var,a,b) :=
28   sSubResCauchyIndexBetween(q,p,var,a,b);
30 cauchyIndex(q,p,var) :=
31   sSubResCauchyIndex(q,p,var);
33 /* Tarski Query */
35 /* The method chosen by default is the one with the subresultants */
36 /* other methods : Signed Remainder Sequence */
38 tarskiQueryBetween(q,p,var,a,b) :=
39   sSubResTarskiQueryBetween(q,p,var,a,b);
41 tarskiQuery(q,p,var) :=
42   sSubResTarskiQuery(q,p,var);
44 /* isolateRoots */
46 /* The Method used by default is the De Casteljau's method*/
47 /* other method : Monomial (not yet working) */
49 isolateRoots(pol,var) :=
50   deCasteljauIsolateRoots(pol,var);
52 isolateRootsBetween(pol,var,a,b) :=
53   deCasteljauIsolateRootsBetween(pol,var,a,b);
55 deCasteljauIsolateRoots(pol,var) :=
56   deCasteljauIsolateRootsWithZ(pol,var); /* isolateRoots is defined with Z by default */
58 deCasteljauIsolateRootsBetween(pol,var,a,b) :=
59   deCasteljauIsolateRootsBetweenWithZ(pol,var,a,b);
61 isolateRootsBetweenCert(pol,var,a,b) :=
62   deCasteljauIsolateRootsBetweenWithZCert(pol,var,a,b);
64 /* findRoots */
66 /* The Method used by default is the De Casteljau's method*/
67 /* other method : Monomial (not yet working) */
69 findRoots(pol,var,threshold) :=
70   deCasteljauFindRoots(pol,var,threshold);
72 findRootsBetween(pol,var,threshold,a,b) :=
73 deCasteljauFindRootsBetween(pol,var,threshold,a,b);
75 deCasteljauFindRoots(pol,var,threshold) :=
76   deCasteljauFindRootsWithZ(pol,var,threshold); /* findRoots is defined with Z by default */
78 deCasteljauFindRootsBetween(pol,var,threshold,a,b) :=
79   deCasteljauFindRootsBetweenWithZ(pol,var,threshold,a,b);  /* findRoots is defined with Z by default */
81 /* numberOfRoots */
83 /* The Method used by default is the De Casteljau's method*/
84 /* other methods : Signed Remainder  and Signed Subresultants and Monomial (not yet working) */
86 numberOfRootsBetween(p,var,a,b) :=
87   deCasteljauNumberOfRootsBetween(p,var,a,b);
89 numberOfRoots(p,var) :=
90   sSubResNumberOfRoots(p,var);
92 /* signsAtRoots */
94 /* The Method used by default is the De Casteljau's method*/
95 /* other method : Monomial (not yet working) */
97 signsAtRoots(isolListForP,p,q,var) :=
98   deCasteljauSignsAtRoots(isolListForP,p,q,var);
100 rootsSign(isLst,isPol,sgnPol,var) :=
101   deCasteljauRootsSign(isLst,isPol,sgnPol,var);
103 evaluateSignsAtRoots(p,q,var) :=
104   deCasteljauEvaluateSignsAtRoots(p,q,var);
106 /* Certificate */
108 /* The Method used by default is the De Casteljau's method*/
111 /* Certificate of positivity from MAXIMA 5.39.0*/
113 sqFreeCertificate(pol,var,verbosity):=
114   deCasteljauSqFreeCertificateBetween(pol,var,                           [DEFAULT_LEFT_END,DEFAULT_RIGHT_END]);
116   
117 sqFreeCertificate(pol,var) :=
118   deCasteljauSqFreeCertificateBetween(pol,var,[DEFAULT_LEFT_END,DEFAULT_RIGHT_END]);
120 noCheckCertificate(pol,var) :=
121   sqFreeCertificate(pol,var);
124 sqFreeCertificateBetween(pol,var,search_interval) :=
125   deCasteljauSqFreeCertificateBetween(pol,var,search_interval);
128 noCheckCertificateBetween(pol,var,search_interval) :=
129   sqFreeCertificateBetween(pol,var,search_interval);
132 deCasteljauSqFreeCertificateBetween(pol,var,search_interval) :=
133   deCasteljauSqFreeCertificateBetweenVerbose(pol,var,search_interval,DEFAULT_VERBOSITY);
135 deCasteljauSqFreeCertificateBetweenVerbose(pol,var, search_interval,verbosity):=
136     deCasteljauNoCheckCertificateBetweenVerbose(pol,var,                                        search_interval,verbosity);
139 certificate([args]) := block([pol,var,interval],
140 pol : first(args),
141 var : second(args),
142 if length(args) = 3 then
143   interval : third(args)
144 else
145   interval : [DEFAULT_LEFT_END, DEFAULT_RIGHT_END],
146 if length(args) = 4 then
147   interval : [third(args), fourth(args)],
148 return (deCasteljauCertificateBetween(pol,var,interval))
152 certificate(pol,var) :=
153 deCasteljauCertificateBetween(pol,var,[DEFAULT_LEFT_END,DEFAULT_RIGHT_END]);
155 certificateVerbose(pol,var,verbosity) :=
156  deCasteljauCertificateBetweenVerbose(pol,var,[DEFAULT_LEFT_END, DEFAULT_RIGHT_END],verbosity);
159 certificateBetween(pol,var,search_interval):=
160   deCasteljauCertificateBetween(pol,var,search_interval);
163 deCasteljauCertificateBetween(pol,var,search_interval) :=
164   deCasteljauCertificateBetweenVerbose(pol,var,search_interval,DEFAULT_VERBOSITY);
167 /* --------------------------------------------------- */
168 /* Sign determination */
170 signDetermination(polList,ptSet,sqAlg,var) :=
171   quickSignDetermination(polList,ptSet,sqAlg,var);
173 /* Sign determination with cardinals */
175 signDeterminationwithcardinals(polylist,P,TaQu,var):=
176 quickSignDeterminationwithcardinals(polylist,P,TaQu,var);
178 /* Invertibility Query */
180 invertibilityQuery(q,p,var) :=
181   gcdInvertibilityQuery(q,p,var);
183 /* Invertibility determination */
185 zerononzeroDetermination(polList,ptSet,sqAlg,var) :=
186   quickZerononzeroDetermination(polList,ptSet,sqAlg,var);
188 zerononzeroDeterminationwithcardinals(polylist,P,Qu,var):=
189 quickZerononzeroDeterminationwithcardinals(polylist,P,Qu,var);
190   
192 /*  archimedean method */
193 topology(pol,x,y) :=
194   archimedeanTopology(pol,isolateRoots,x,y);