| |
| |
Addition of two vectors
| ( defn add
[ first-vector second-vector ]
( map + first-vector second-vector ) )
|
|
Subtraction of two vectors
| ( defn subtract
[ first-vector second-vector ]
( map - first-vector second-vector ) )
|
|
Multiplication of two vectors element-wise
| ( defn mult
[ first-vector second-vector ]
( map * first-vector second-vector ) )
|
|
Division of two vectors element-wise
| ( defn div
[ first-vector second-vector ]
( map / first-vector second-vector ) )
|
|
Dot product of two vectors
| ( defn dot
[ first-vector second-vector ]
( reduce + ( map * first-vector second-vector ) ) )
|
|
Add a scalar to a vector
| ( defn scalar-add
[ v scalar ]
( map #( + scalar % ) v ) )
|
|
Subtract a scalar from a vector
| ( defn scalar-subtract
[ v scalar ]
( map #( - % scalar ) v ) )
|
|
Multiply a scalar with a vector by element-wise
| ( defn scalar-mult
[ v scalar ]
( map #( * scalar % ) v ) )
|
|
Divide a scalar with a vector by element-wise
| ( defn scalar-div
[ v scalar ]
( map #( / % scalar ) v ) )
|
|
Clamp the vector between minimum and maximum values
| ( defn clamp
[ cmin cmax v ]
( map #( max cmin ( min cmax % ) ) v ) )
|
|
Mean of a vector
| ( defn mean
[ v ]
( / ( reduce + v ) ( count v ) ) )
|
|
Moving average of a vector for a given window
| ( defn moving-average
[ v window ] ( map mean ( partition window 1 v ) ) )
|
|
Returns element-wise squared version of the vector
| ( defn squared
[ v ]
( map #( * % % ) v ) )
|
|
Element-wise absolute operation to a vector
| ( defn abs
[ v ]
( map #( Math/abs % ) v ) )
|
|
Element-wise power operation to a vector
| ( defn pow
[ v scalar ]
( map #( Math/pow % scalar ) v ) )
|
|
| |