Skip to content

Commit 98cdda1

Browse files
committed
add matrix and statistics utilities
1 parent 37be769 commit 98cdda1

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

src/main/scala/matrix.scala

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,11 @@ object Matrix:
8686

8787
def applyFunctionToColumns(a: Mat, f: Vec => Double): Vec = a.transpose.map(f)
8888

89+
def applyFunctionsToColumns(a: Mat, f: Array[Vec => Double]): Vec =
90+
a.transpose
91+
.zip(f)
92+
.map((col, func) => func(col))
93+
8994
def applyFunctionToRows(a: Mat, f: Vec => Double): Vec = a.map(f)
9095

9196
def multiplyRowByScalar(a: Mat, i: Int, scalar: Double): Mat =

src/main/scala/statistics.scala

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ import scala.math.{log, exp}
44

55
object Statistics:
66

7+
def maximum(a: Vec): Double = a.max
8+
9+
def minimum(a: Vec): Double = a.min
10+
711
def mean(a: Vec): Double = a.sum / a.length
812

913
def variance(a: Vec): Double =

0 commit comments

Comments
 (0)