Thanks for the tolerance hint. It helps a lot indeed: 9!:18 '' 5.68434e_14 9!:19 ]1e_11 9!:18 '' 1e_11
data=:(_100 100 runiform 1);((genUniformMatrix 50 50),:(genUniformMatrix 50 50)) leftR=: 4 : '(0{x) * ( (0{y) + (1{y) )' rightR=: 4 : '( (0{x) * (0{y) ) + ( (0{x) * (1{y) )' relation=: leftR`rightR checkEqOfMatricesScalarsRel=: 4 : '( (>0{y) x@.0 (>1{y) ) -: ( (>0{y) x@.1 (>1{y) )' relation checkEqOfMatricesScalarsRel data 1 run=: 3 : 0 shape=.1+?2#100 m=.(genUniformMatrix shape),:(genUniformMatrix shape) s=. _100 100 runiform 1 data=.s;m relation checkEqOfMatricesScalarsRel data ) (+/)(run"0)100#0 100 (+/)(run"0)1000#0 993 (+/)(run"0)100#0 100 (+/)(run"0)100#0 100 (+/)(run"0)100#0 100 (+/)(run"0)100#0 99 I tried to tweak with equal tolerance but it seems that the limit is here like with 9:18 (probably they are coupled). Could you elaborate what is idea behind *x:* ? I kinda missed the point (please excuse me - I am just beginning my adventure with J) Kindest regards, Pawel Jakubas ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm