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.