aboutsummaryrefslogtreecommitdiff
path: root/src/algebra
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2010-06-14 15:46:03 +0000
committerdos-reis <gdr@axiomatics.org>2010-06-14 15:46:03 +0000
commit82929c32be58e92dccd449f8a874dc1419980f50 (patch)
tree727f016cd1ff5a76b30a0e4c2830fabf8224a541 /src/algebra
parent5f7a5c1a81c50807bf1315260f94108dd9a5ac2e (diff)
downloadopen-axiom-82929c32be58e92dccd449f8a874dc1419980f50.tar.gz
* algebra/catdef.spad.pamphlet (LinearlyExplicitRingOver): Now
extends LeftModule R. [reducedSystem: Vector % -> Matrix R]: New overload. * algebra/lindep.spad.pamphlet (LinearDependence): Additionally require Ring on the second parameter. (IntegerLinearDependence): Add similar requirement on the parameter.
Diffstat (limited to 'src/algebra')
-rw-r--r--src/algebra/catdef.spad.pamphlet11
-rw-r--r--src/algebra/lindep.spad.pamphlet4
-rw-r--r--src/algebra/si.spad.pamphlet2
3 files changed, 11 insertions, 6 deletions
diff --git a/src/algebra/catdef.spad.pamphlet b/src/algebra/catdef.spad.pamphlet
index 4c6317f3..0a1a435b 100644
--- a/src/algebra/catdef.spad.pamphlet
+++ b/src/algebra/catdef.spad.pamphlet
@@ -1013,7 +1013,7 @@ LeftModule(R:Rng):Category == Join(AbelianGroup, LeftLinearSet R)
)abbrev category LINEXP LinearlyExplicitRingOver
++ Author:
++ Date Created:
-++ Date Last Updated:
+++ Date Last Updated: June 14, 2010
++ Basic Functions:
++ Related Constructors:
++ Also See:
@@ -1021,8 +1021,13 @@ LeftModule(R:Rng):Category == Join(AbelianGroup, LeftLinearSet R)
++ Keywords:
++ References:
++ Description:
-++ An extension ring with an explicit linear dependence test.
-LinearlyExplicitRingOver(R:Ring): Category == Ring with
+++ An extension of left-module with an explicit linear dependence test.
+LinearlyExplicitRingOver(R:Ring): Category == LeftModule R with
+ reducedSystem: Vector % -> Matrix R
+ ++ \spad{reducedSystem [v1,...,vn]} returns a matrix \spad{M}
+ ++ with coefficients in \spad{R} such that the system of equations
+ ++ \spad{c1*v1 + ... + cn*vn = 0$%} has the same solution as
+ ++ \spad{c * M = 0} where \spad{c} is the row vector \spad{[c1,...cn]}.
reducedSystem: Matrix % -> Matrix R
++ reducedSystem(A) returns a matrix B such that \spad{A x = 0} and \spad{B x = 0}
++ have the same solutions in R.
diff --git a/src/algebra/lindep.spad.pamphlet b/src/algebra/lindep.spad.pamphlet
index 64c06067..d6a266e0 100644
--- a/src/algebra/lindep.spad.pamphlet
+++ b/src/algebra/lindep.spad.pamphlet
@@ -19,7 +19,7 @@
++ Description: Test for linear dependence.
LinearDependence(S, R): Exports == Implementation where
S: IntegralDomain
- R: LinearlyExplicitRingOver S
+ R: Join(Ring,LinearlyExplicitRingOver S)
Q ==> Fraction S
@@ -90,7 +90,7 @@ LinearDependence(S, R): Exports == Implementation where
++ Date Last Updated: 14 May 1991
++ Description: Test for linear dependence over the integers.
IntegerLinearDependence(R): Exports == Implementation where
- R: LinearlyExplicitRingOver Integer
+ R: Join(Ring,LinearlyExplicitRingOver Integer)
Z ==> Integer
diff --git a/src/algebra/si.spad.pamphlet b/src/algebra/si.spad.pamphlet
index 2321b60d..e9e5637c 100644
--- a/src/algebra/si.spad.pamphlet
+++ b/src/algebra/si.spad.pamphlet
@@ -262,7 +262,7 @@ SingleInteger(): Join(IntegerNumberSystem,OrderedFinite,BooleanLogic,Logic,OpenM
if wholeObj then
OMputEndObject(dev)
- reducedSystem m == m pretend Matrix(Integer)
+ reducedSystem(m: Matrix %) == m pretend Matrix(Integer)
coerce(x):OutputForm == rep(x)::OutputForm
convert(x:%):Integer == rep x
i:Integer * y:% == i::% * y