Skip to content

Commit 731b558

Browse files
committed
Update packages to use new randomSubset in Core
1 parent 439f7f4 commit 731b558

File tree

4 files changed

+5
-49
lines changed

4 files changed

+5
-49
lines changed

M2/Macaulay2/packages/AbstractSimplicialComplexes.m2

Lines changed: 5 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -159,33 +159,10 @@ abstractSimplicialComplex(ZZ,ZZ) := AbstractSimplicialComplex => (n,r) -> (
159159
----------------------------------------
160160

161161
-- What follows are simple minded (yet still seemingly practical)
162-
-- methods for producing random subsets and random simplicial complexes.
162+
-- methods for producing random simplicial complexes.
163163
-- In either case they are fairly efficient.
164164
-- In either case, what follows suffices for our purposes at present.
165165

166-
-- Make a random subset of {1,...,n}.
167-
168-
randomSubset = method()
169-
170-
-- Make a random size random subset of [n] = {1,...,n}.
171-
172-
randomSubset(ZZ) := List => (n) -> (
173-
k := random(0,n);
174-
sort unique (for i from 1 to k list (random(1,n))))
175-
176-
-- Make a random size r subset.
177-
178-
randomSubset(ZZ,ZZ) := List => (n,r) -> (
179-
sort unique (for i from 1 to r list (random(1,n))))
180-
181-
-- Make a random subset of a given set.
182-
183-
randomSubset(List) := List => (L) -> (
184-
n := #L;
185-
k := random(0,n);
186-
mySubset := subsets(L,k);
187-
mySubset_(random(binomial(n,k))))
188-
189166
-- A variant of the above method would yield a random k element subset of a given set.
190167

191168
-- Make a "random" simplicial complex on {1,...,n}.
@@ -194,14 +171,16 @@ randomAbstractSimplicialComplex = method()
194171

195172
randomAbstractSimplicialComplex(ZZ) := AbstractSimplicialComplex => (n) -> (
196173
listLength := 1 + random(2^n);
197-
randomFaces := unique(for i from 1 to listLength list randomSubset(n));
174+
x := toList(1..n);
175+
randomFaces := unique(for i from 1 to listLength list randomSubset x);
198176
abstractSimplicialComplex randomFaces)
199177

200178
-- Make a random simplicial complex on [n] with r-skeleton.
201179

202180
randomAbstractSimplicialComplex(ZZ,ZZ) := AbstractSimplicialComplex => (n,r) -> (
203181
listLength := 1 + random(binomial(n,r));
204-
randomFaces := unique(for i from 1 to listLength list randomSubset(n,r));
182+
x := toList(1..n);
183+
randomFaces := unique(for i from 1 to listLength list randomSubset(x,r));
205184
abstractSimplicialComplex randomFaces)
206185

207186
-- Make the random complex Y_d(n,m) which has vertex set

M2/Macaulay2/packages/MultiplicitySequence.m2

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,6 @@ export {
5858

5959
-- installMinprimes() -- for MinimalPrimes.m2
6060

61-
randomSubset := (L, k) -> (
62-
i := random(#L);
63-
if k == 1 then {L#i} else {L#i} | randomSubset(L_(delete(i, toList(0..<#L))), k-1)
64-
)
65-
6661
getGenElts = method(Options => {symbol minTerms => -1, symbol numCandidates => 3})
6762
getGenElts (Ideal, ZZ) := List => opts -> (I, n) -> (
6863
G := flatten entries mingens I; -- I_*;

M2/Macaulay2/packages/RandomIdeals.m2

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -264,15 +264,6 @@ testNewSimplex(List, List) := (P, D) ->(
264264

265265
intersectLists = (D',D) -> D - set(D-set D')
266266

267-
randomSubset = (n,m) -> (
268-
L := new MutableList from toList (0..m-1);
269-
for i from m to n-1 do (
270-
j := random(i+1);
271-
if j < m then L#j = i;
272-
);
273-
sort toList L
274-
)
275-
276267
randomAddition = method()
277268
randomAddition(ZZ,ZZ,List) := (n,m,P) ->(
278269
if #P == 0 then return {randomSubset(n,m+1)};

M2/Macaulay2/packages/TestIdeals/testIdeals.m2

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -66,15 +66,6 @@ testElement Ring := o -> R1 ->
6666
testEle % I1
6767
)
6868

69-
randomSubset = method()
70-
71-
randomSubset ( ZZ, ZZ ) := ( m, n ) ->
72-
(
73-
L := toList( 0..m-1 );
74-
scan( m-n, i -> L = delete( L#(random(0,m-1-i)), L ) );
75-
L
76-
)
77-
7869
--****************************
7970
--****************************
8071
--**New test ideal functions**

0 commit comments

Comments
 (0)