kigubkur.elfun.cube
Elementary Function: cubing function.
(require '[kigubkur.elfun [cube :refer [cube]]])
Examples
Cube of a scalar
=> (cube 3)
27.0
Cube of a matrix
=> (def r [[1 2 3 4]])
=> (def c [[1][2][3][4]])
=> (def M [[1 2] [3 4]])
=> (view (cube r))
[1.0 8.0 27.0 64.0]
Order -> 1 x 4
=> (view (cube c))
[1.0]
[8.0]
[27.0]
[64.0]
Order-> 4 x 1
=> (view (cube M))
[1.0 8.0]
[27.0 64.0]
Order -> 2 x 2
Cube of a block
(require '[kigubkur.construct [blocking :refer [block]]])
=> (def L [[1 2 3 4 5 6 7 8 9 10]
[1 2 3 4 5 6 7 8 9 10]
[1 2 3 4 5 6 7 8 9 10]
[1 2 3 4 5 6 7 8 9 10]
[1 2 3 4 5 6 7 8 9 10]
[1 2 3 4 5 6 7 8 9 10]
[1 2 3 4 5 6 7 8 9 10]])
=> (def B (block L 5))
=> (pprint B)
[[{:A11 [[1 2 3 4 5]
[1 2 3 4 5]
[1 2 3 4 5]
[1 2 3 4 5]
[1 2 3 4 5]],
:A12 [[6 7 8 9 10]
[6 7 8 9 10]
[6 7 8 9 10]
[6 7 8 9 10]
[6 7 8 9 10]]}]
[{:A22 [[6 7 8 9 10]
[6 7 8 9 10]],
:A21 [[1 2 3 4 5]
[1 2 3 4 5]]}]]
=> (pprint (sq B 2))
[[{:A11 [[1.0 8.0 27.0 64.0 125.0]
[1.0 8.0 27.0 64.0 125.0]
[1.0 8.0 27.0 64.0 125.0]
[1.0 8.0 27.0 64.0 125.0]
[1.0 8.0 27.0 64.0 125.0]],
:A12 [[216.0 343.0 512.0 729.0 1000.0]
[216.0 343.0 512.0 729.0 1000.0]
[216.0 343.0 512.0 729.0 1000.0]
[216.0 343.0 512.0 729.0 1000.0]
[216.0 343.0 512.0 729.0 1000.0]]}]
[{:A22 [[216.0 343.0 512.0 729.0 1000.0] [216.0 343.0 512.0 729.0 1000.0]],
:A21 [[1.0 8.0 27.0 64.0 125.0] [1.0 8.0 27.0 64.0 125.0]]}]]
cube
(cube X)
Given a scalar, row matrix, column matrix, matrix or a block and a scalar, row matrix, column matrix, matrix or a block, returns element-wise cube.
Syntax: (cube X)
s.t X
is a scalar or a kigubkur© matrix (or both blocks)
Note:
if xik or yik ∈ {##NaN
, ##Inf
, ##-Inf
}, returns ##NaN
,
otherwise, returns x3.