Generating a finite sigma-algebra
- To: mathgroup at smc.vnet.net
- Subject: [mg103828] Generating a finite sigma-algebra
- From: Valeri Astanoff <astanoff at gmail.com>
- Date: Thu, 8 Oct 2009 07:51:02 -0400 (EDT)
Good day, Given a set and a list of its subsets, how can one generate *the* sigma-algebra generated by the subsets ? The original question was posted on another CAS group and I tried and did it with Mathematica this way : In[1]:= sigmaAlgebra[set_List, parts_List /; Depth[parts]==3] := With[{}, int[subs_List]:= Outer[Intersection,subs,subs,1] // Flatten[#,1]& // Union; un[subs_List]:= Outer[Union,subs,subs,1] // Flatten[#,1]& // Union; comp[om_List, subs_List]:= Union[subs, Complement[om,#]& /@subs] ; FixedPoint[int[un[comp[set,#]]]&,parts] ]; sigmaAlgebra[set_List, elements_List/;Depth[elements]==2] := sigmaAlgebra[set, List /@ elements]; In[3]:= sigmaAlgebra[{1,2,3,4,5}, {{1,2,3,4},{1,3},{4}}] Out[3]= {{},{2},{4},{5},{1,3},{2,4},{2,5},{4,5}, {1,2,3},{1,3,4},{1,3,5},{2,4,5}, {1,2,3,4},{1,2,3,5},{1,3,4,5},{1,2,3,4,5}} In[4]:= sigmaAlgebra[{1,2,3,4},{2,4}] Out[4]= {{},{2},{4},{1,3},{2,4}, {1,2,3},{1,3,4},{1,2,3,4}} Is that way correct and optimal, and if not, what is the best and fastest way to get the sigma-algebra ? Thanks -- V.Astanoff