diff options
author | dos-reis <gdr@axiomatics.org> | 2011-08-14 21:23:34 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2011-08-14 21:23:34 +0000 |
commit | 7dff09b8cac803d6936887fdfa286a2a25073ac2 (patch) | |
tree | 1f82b9c5f57145f6f2234617bb35503666f0b2dc /src/algebra/pleqn.spad.pamphlet | |
parent | 775f2c3cca11ab64df713afb7f35363afe5d4ce0 (diff) | |
download | open-axiom-7dff09b8cac803d6936887fdfa286a2a25073ac2.tar.gz |
* interp/lisp-backend.boot ($freeVarName): New global constant.
(loopVarInit): New.
(expandIN): Use it.
(expandON): Likewise.
(expandSTEP): Likewise.
(massageFreeVarInits): New.
(expandLoop): Use it.
* interp/fnewmeta.lisp (PARSE-QuantifiedVariable): Tidy.
(PARSE-AnyId): Likewise.
(PARSE-Variable): New. Allow scope-of-type specification for
loop variable.
(PARSE-Iterator): Use it.
* interp/compiler.boot (massage_llop): Don't check
$mayHaveFreeIteratorVariables.
(compRepeatOrCollect): Don't bind it.
(classifyIteratorVariable): New.
(complainIfShadowing): Remove as no longer needed.
(compStepIterator): Use it. Tidy.
(compONIterator, compINIterator): New. Split out of compIterator.
(compIterator): Refactor.
* interp/functor.boot (optFunctorBody): Fix thinko.
* interp/g-opt.boot (optCollectVector): A STEP iterator may have a
storage class.
* algebra/clip.spad.pamphlet: Fix loop variable scope.
* algebra/ffpoly.spad.pamphlet: Likewise.
* algebra/fparfrac.spad.pamphlet: Likewise.
* algebra/gdpoly.spad.pamphlet: Likewise.
* algebra/ghensel.spad.pamphlet: Likewise.
* algebra/groebsol.spad.pamphlet: Likewise.
* algebra/intfact.spad.pamphlet: Likewise.
* algebra/matfuns.spad.pamphlet: Likewise.
* algebra/moddfact.spad.pamphlet: Likewise.
* algebra/numtheor.spad.pamphlet: Likewise.
* algebra/permgrps.spad.pamphlet: Likewise.
* algebra/pfbr.spad.pamphlet: Likewise.
* algebra/pgcd.spad.pamphlet: Likewise.
* algebra/pleqn.spad.pamphlet: Likewise.
* algebra/pseudolin.spad.pamphlet: Likewise.
* algebra/radeigen.spad.pamphlet: Likewise.
* algebra/radix.spad.pamphlet: Likewise.
* algebra/regset.spad.pamphlet: Likewise.
* algebra/rep2.spad.pamphlet: Likewise.
* algebra/sgcf.spad.pamphlet: Likewise.
* algebra/smith.spad.pamphlet: Likewise.
* algebra/sregset.spad.pamphlet: Likewise.
* algebra/syssolp.spad.pamphlet: Likewise.
* algebra/zerodim.spad.pamphlet: Likewise.
* algebra/crfp.spad.pamphlet: Remove capsule-level declaration of
local variables.
* algebra/galfact.spad.pamphlet: Likewise.
* algebra/mathml.spad.pamphlet: Likewise.
* algebra/numode.spad.pamphlet: Likewise.
* algebra/tex.spad.pamphlet: Likewise.
* algebra/updecomp.spad.pamphlet: Likewise.
Diffstat (limited to 'src/algebra/pleqn.spad.pamphlet')
-rw-r--r-- | src/algebra/pleqn.spad.pamphlet | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/src/algebra/pleqn.spad.pamphlet b/src/algebra/pleqn.spad.pamphlet index e3090a74..0e371880 100644 --- a/src/algebra/pleqn.spad.pamphlet +++ b/src/algebra/pleqn.spad.pamphlet @@ -315,7 +315,6 @@ ParametricLinearEquations(R,Var,Expon,GR): false B1solve (sys:Linsys):Linsoln == - i,j,i1,j1:I rss:L I:=sys.rows nss:L I:=sys.cols k:=sys.rank @@ -349,7 +348,6 @@ ParametricLinearEquations(R,Var,Expon,GR): [p,pbas] regime (y, coef, w, psbf, rk, rkmax, mode) == - i,j:I -- use the y.det nonzero to simplify the groebner basis -- of ideal generated by higher order subdeterminants ydetf:L GR:=factorset y.det @@ -396,8 +394,6 @@ ParametricLinearEquations(R,Var,Expon,GR): if filemode then newfile:=new$FNAME ("",outname,"regime") rksoln:=open$(File Rec3) newfile - y:Rec - k:NNI rrcl:RankConds:= entry? (mode,[1,2,3,7,8,9]$(L I)) => ParCondList (coeff,0) entry? (mode,[4,5,6,10,11,12]$(L I)) => ParCondList (coeff,h) @@ -409,7 +405,7 @@ ParametricLinearEquations(R,Var,Expon,GR): psb:Fgb:= (if rk=rkmax then [] else rrcl.(k+1).fgb) psbf:L L GR:= [factorset x for x in psb] psbf:= minset(psbf) - for y in pc repeat + for y: Rec in pc repeat rec3:Rec3:= regime (y, coeff, w, psbf, rk, rkmax, mode) inconsistent? rec3.wcond => "incompatible system" if filemode then write!(rksoln, rec3) @@ -428,13 +424,11 @@ ParametricLinearEquations(R,Var,Expon,GR): pc:Eqns:=[] npc: Eqns:=[] psbf: Fgb:=[] - rc: Rec done: Boolean := false r:=nrows mat n:=ncols mat maxrk:I:=min(r,n) - k:NNI - for k in min(r,n)..h by -1 until done repeat + for k: NNI in min(r,n)..h by -1 until done repeat pc:= ParCond(mat,k) npc:=[] (empty? pc) and (k >= 1) => maxrk:= k - 1 @@ -443,7 +437,7 @@ ParametricLinearEquations(R,Var,Expon,GR): else zro:L GR:= (if k = maxrk then [] else rcl.1.fgb) covered:Boolean:=false - for rc in pc until covered repeat + for rc: Rec in pc until covered repeat p:GR:= redPol$rp (rc.det, zro) p = 0 => "incompatible or covered subdeterminant" test:=hasoln(zro, [rc.det]) @@ -630,7 +624,6 @@ ParametricLinearEquations(R,Var,Expon,GR): redmat (mat,psb) == - i,j:I r:=nrows(mat) n:=ncols(mat) newmat: M GR:=zero(r,n) |