Re: is there a better way to iterate this?
- To: mathgroup at smc.vnet.net
- Subject: [mg77885] Re: is there a better way to iterate this?
- From: dantimatter <dantimatter at gmail.com>
- Date: Tue, 19 Jun 2007 06:34:35 -0400 (EDT)
- References: <f532ln$3ab$1@smc.vnet.net><f55q50$k12$1@smc.vnet.net>
hi all,
it was pointed out that my original post contained some errors, and
that it might be more useful if i posted the actual code, so here
goes:
-----------------------------
moms={{60, 78, 54, 38, 56, 62, 58, 66, 78, 78, 74, 84, 84, z, z, z, z,
z}, {78,
50, 46, 46, 62, 62, 70, 68, 68, 68, 78, 76, 84, 134, z, z, z, z},
{64, 52,
56, 58, 54, 58, 56, 66, 62, 80, 74, 96, 82, z, z, z, z, z}, {122,
54,
72, 60, 66, 80, 74, 92, 152, z, z, z, z, z, z, z, z, z}, {64,
46, 50, 70, 54, 58, 66, 58, 66, 78, 82, 82, 100, z, z, z, z, z}, {58,
52,
68, 76, 60, 50, 68, 76, 74, 80, 80, 88, 116, z, z, z, z, z}, {72,
56, 56,
52, 68, 50, 72, 46, 72, 84, 82, 94, 100, z, z, z, z, z}, {76, 58,
64, 58,
68, 46, 52, 70, 76, 74, 80, 84, 108, z, z, z, z,
z}, {64, 60, 68, 40, 62, 48, 68, 62, 74, 72, 72, 94, 90, z, z, z, z,
z}, {
70, 52, 58, 68, 58, 52, 72, 56, 62, 68, 76, 84, 98, z, z,
z, z, z}, {66, 74, 74, 76, 54, 54, 64, 82, 128, z, z, z, z, z, z,
z, z,
z}, {54, 62, 64, 72, 76, 74, z, z, z, z, z, z, z, z, z, z, z, z}, {
78, 62, 70, 54, 56, 60, 74, z, z, z, z, z, z, z, z, z, z, z}, {66,
56, 60,
64, 56, 62, 68, 58, 58, 58, 68, 76, 62, 76, 66, 64, 88, 56}, {62,
56, 62,
44, 50, 48, 48, 66, 48, 48, 60, 50, 52, 58, 66, z, z, z}, {22, 50,
58, 60,
60, 50, 50, 56, 56, 48, 54, 58, 78, 38, 50, 60, 58, 70}, {62, 56,
52,
50, 60, 46, 60, 54, 62, 50, 52, 88, 42, 50, 58, 68, 62, z}, {60,
48,
60, 60, 56, 54, 50, 64, 56, 70, 72, 40, 56, 66, 56, 132, z, z}, {62,
56,
52, 86, z, z, z, z, z, z, z, z, z, z, z, z, z, z}, {64, 54, 64, 56,
76,
z, z, z, z, z, z, z, z, z, z, z, z, z}, {58, 52, 60, 48, 54, 56, 50,
60,
56, 54, 54, 62, 50, 44, 62, 56, 56, z}};
daughters={{z, z, z, z, z, z, 74, 74, 56, 66, 84, 108, 124, z, z, z,
z, z}, {z, z, 50,
50, 66, 64, 66, 72, 76, 90, 70, 90, 120, z, z, z, z, z}, {z, z, z,
z,
z, 60, 70, 78, 72, 80, 106, 108, z, z, z, z, z, z}, {z, 70, 70,
68, 78,
88, 116, z, z, z, z, z, z, z, z, z, z, z}, {z, z,
z, z, z, z, z, z, z, 84, 84, 94, 112, z, z, z, z, z}, {z, z, z, z,
z,
62, 62, 62, 74, 68, 106, 94, 100, z, z, z, z, z}, {z, z, z,
z, z, z, z, z, 64, 68, 90, 94, 116, z, z, z, z, z}, {z, z, z, z, 60,
56,
74, 68, 90, 106, z, z, z, z, z, z, z, z}, {z, z, z,
z, z, z, 62, 60, 60, 70, 88, 94, 86, z, z, z, z, z}, {z, z, z, z, z,
z,
44, 68, 56, 64, 84, 82, 92, 92, z, z, z, z}, {z,
z, z, z, z, 62, 56, 102, 56, z, z, z, z, z, z, z, z, z}, {z, z, z,
z, z,
z, z, z, z, z, z, z, z, z, z, z, z, z}, {z, z, 62, 68, 60,
66, 82, 48, 74, z, z, z, z, z, z, z, z, z}, {z, z, z, z, z, z, z, z,
z, z,
z, z, z, 140, 74, z, z, z}, {z, z, z, z, z, 40, 52, 50, 54, 64, 64,
62, 54, 62, 74, 64, 62, z}, {z, 84, 80, 62, 60, 50, 54, 68, 70, 60,
64, 62, 78, 66, 60, z, z, z}, {z, z, z, z, z, z, 52, 64, 58, 56,
64,
62, 62, 64, 62, 60, 64, z}, {z, z, z, z, z, z, z, 54, 56, 60, 90,
42, 60,
z, z, z, z, z}, {z, z, 54, 52, 58, 60, 56, 60, 60, 56, 58, 64, 64,
58, 64, z, z, z}, {z, 64, 56, 52, 56, 52, 66, 64, 62, z, z, z, z,
z, z,
z, z, z}, {z, z, z, z, 56, 56, 68, 68, 50, 56, 58, 66, 72, 58, 54,
78, z, z}
};
randomdaughters = Table[RandomPermutation[daughters], {10000}];
randommomdaughterpairs = Table[Table[Transpose[{moms[[j]],
randomdaughters[[k, j]]}], {j, Length[moms]}], {k,
Length[randomdaughters]}];
gens=Table[
Table[randommomdaughterpairs[[k,All,i]],{i,
Length[randommomdaughterpairs[[k,1]]]}],{k,
Length[randommomdaughterpairs]}];
mddivtimepergen=
Table[
Table[DeleteCases[gens[[j,k]],_?(#[[1]]==z||#[[2]]==z&)],{k,
Length[gens[[j]]]}],{j,Length[gens]}];
coeffs=Table[
N[Correlation[Flatten[mddivtimepergen[[i]],1][[All,1]],
Flatten[mddivtimepergen[[i]],1][[All,2]]]],{i,
Length[mddivtimepergen]}];
---------------------------
any suggestions on how to make this more efficient would be much
appreciated.
thanks to all,
dan