Boolean matrices are currently boxed.
scala> import breeze.linalg._
import breeze.linalg._
scala> val dm = DenseMatrix.rand(5, 5)
dm: breeze.linalg.DenseMatrix[Double] =
0.410491337822108 0.2312409497063863 0.10312792066860399 ... (5 total)
0.7890078434527261 0.9253947875291468 0.162569349496404 ...
0.24325903507125846 0.3187495767083455 0.21208038727461864 ...
0.2298254089467855 0.9683842795421511 0.099865086522966 ...
0.36268636924825404 0.9489842096973167 0.20128043935517237 ...
scala> dm(dm :> 0.5)
res2: breeze.linalg.SliceVector[(Int, Int),Double] = breeze.linalg.SliceVector@fea1c37b
scala> res2.toDenseVector
res3: breeze.linalg.DenseVector[Double] = DenseVector(0.799357260499427, 0.7890078434527261, 0.9253947875291468, 0.9357039251969395, 0.7484777558659128, 0.9683842795421511, 0.8659207280590215, 0.5086632429613545, 0.9489842096973167, 0.8484530630703433, 0.8750651441258643)
scala> dm(dm :> 0.5) := 1.0
res4: breeze.linalg.Vector[Double] = breeze.linalg.SliceVector@5b135003
scala> dm
res5: breeze.linalg.DenseMatrix[Double] =
0.410491337822108 0.2312409497063863 0.10312792066860399 ... (5 total)
1.0 1.0 0.162569349496404 ...
0.24325903507125846 0.3187495767083455 0.21208038727461864 ...
0.2298254089467855 1.0 0.099865086522966 ...
0.36268636924825404 1.0 0.20128043935517237 ...