Source file owl_algodiff_primal_ops.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# 1 "src/owl/algodiff/owl_algodiff_primal_ops.ml"
(*
 * OWL - OCaml Scientific and Engineering Computing
 * Copyright (c) 2016-2020 Liang Wang <liang.wang@cl.cam.ac.uk>
 *)

module S = struct
  include Owl_dense_ndarray.S
  module Scalar = Owl_maths

  module Mat = struct
    let eye = Owl_dense_matrix.S.eye

    let tril = Owl_dense_matrix.S.tril

    let triu = Owl_dense_matrix.S.triu

    let diagm = Owl_dense_matrix.S.diagm
  end

  module Linalg = struct
    include Owl_linalg.S

    let qr a =
      let q, r, _ = qr a in
      q, r


    let lq x = lq x
  end
end

module D = struct
  include Owl_dense_ndarray.D
  module Scalar = Owl_maths

  module Mat = struct
    let eye = Owl_dense_matrix.D.eye

    let tril = Owl_dense_matrix.D.tril

    let triu = Owl_dense_matrix.D.triu

    let diagm = Owl_dense_matrix.D.diagm
  end

  module Linalg = struct
    include Owl_linalg.D

    let qr a =
      let q, r, _ = qr a in
      q, r


    let lq x = lq x
  end
end