Very nice, Peter. Here is one version of Peter's suggestion expressed in R code
M <- M | t(M) # first step as symmetric matrix as stated by OP Q <- M for ( i in 2:(ncol(Q)-1) ) Q <- Q + Q %*% M R <- (Q > 0) R HTH, Eric On Tue, Jun 18, 2019 at 12:46 PM peter dalgaard <pda...@gmail.com> wrote: > Sounds like this is isomorphic to reachability in graph theory. I wonder > if > > (sum_1^n M^i) > 0 > > would suffice? > > -pd > > > > > On 18 Jun 2019, at 02:08 , Duncan Murdoch <murdoch.dun...@gmail.com> > wrote: > > > > On 17/06/2019 7:34 p.m., Bert Gunter wrote: > >> Depends on what you mean by "simple" of course, but suppose that: > >> M[i,j] & M[j,k] & M[k,n] are TRUE and M[i,k] and M[i,n] are FALSE. > >> Then the procedure would see that M[i,k] needs to change to TRUE, but > not that M[i,n] needs to also become TRUE *after* M[i,k] changes. This > seems to imply that an iterative solution is necessary. > > > > Right, that's a good point. > > > > Duncan Murdoch > > > >> One such procedure, via repeated matrix multiplication to check for and > impose transitivity, appears to be suggested by this discussion: > >> > https://math.stackexchange.com/questions/228898/how-to-check-whether-a-relation-is-transitive-from-the-matrix-representation > >> Cheers, > >> Bert > >> On Mon, Jun 17, 2019 at 10:29 AM Duncan Murdoch < > murdoch.dun...@gmail.com <mailto:murdoch.dun...@gmail.com>> wrote: > >> On 17/06/2019 1:19 p.m., Duncan Murdoch wrote: > >> > Suppose I have a square logical matrix M which I'm thinking of as > a > >> > relation between the row/column numbers. > >> > > >> > I can make it into a symmetric relation (i.e. M[i,j] being TRUE > >> implies > >> > M[j,i] is TRUE) by the calculation > >> > > >> > M <- M | t(M) > >> > > >> > Is there a simple way to ensure transitivity, i.e. M[i,j] & > >> M[j,k] both > >> > being TRUE implies M[i,k] is TRUE? > >> > > >> > The operation should only change FALSE or NA values to TRUE > >> values; TRUE > >> > values should never be changed. > >> I also want the changes to be minimal; changing everything to TRUE > >> would > >> satisfy transitivity, but isn't useful to me. > >> Duncan Murdoch > >> ______________________________________________ > >> R-help@r-project.org <mailto:R-help@r-project.org> mailing list -- > >> To UNSUBSCRIBE and more, see > >> https://stat.ethz.ch/mailman/listinfo/r-help > >> PLEASE do read the posting guide > >> http://www.R-project.org/posting-guide.html > >> and provide commented, minimal, self-contained, reproducible code. > >> > > > > ______________________________________________ > > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > > https://stat.ethz.ch/mailman/listinfo/r-help > > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > > and provide commented, minimal, self-contained, reproducible code. > > -- > Peter Dalgaard, Professor, > Center for Statistics, Copenhagen Business School > Solbjerg Plads 3, 2000 Frederiksberg, Denmark > Phone: (+45)38153501 > Office: A 4.23 > Email: pd....@cbs.dk Priv: pda...@gmail.com > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.