package owl-base

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Source file owl_types_ndarray_algodiff.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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# 1 "src/base/types/owl_types_ndarray_algodiff.ml"
(*
 * OWL - OCaml Scientific and Engineering Computing
 * Copyright (c) 2016-2020 Liang Wang <liang.wang@cl.cam.ac.uk>
 *)

module type Sig = sig
  include Owl_types_ndarray_eltcmp.Sig

  module Scalar : sig
    val add : elt -> elt -> elt

    val sub : elt -> elt -> elt

    val mul : elt -> elt -> elt

    val div : elt -> elt -> elt

    val pow : elt -> elt -> elt

    val atan2 : elt -> elt -> elt

    val abs : elt -> elt

    val neg : elt -> elt

    val sqr : elt -> elt

    val sqrt : elt -> elt

    val exp : elt -> elt

    val log : elt -> elt

    val log2 : elt -> elt

    val log10 : elt -> elt

    val signum : elt -> elt

    val floor : elt -> elt

    val ceil : elt -> elt

    val round : elt -> elt

    val sin : elt -> elt

    val cos : elt -> elt

    val tan : elt -> elt

    val sinh : elt -> elt

    val cosh : elt -> elt

    val tanh : elt -> elt

    val asin : elt -> elt

    val acos : elt -> elt

    val atan : elt -> elt

    val asinh : elt -> elt

    val acosh : elt -> elt

    val atanh : elt -> elt

    val relu : elt -> elt

    val dawsn : elt -> elt

    val sigmoid : elt -> elt
  end

  module Mat : sig
    val diagm : ?k:int -> arr -> arr

    val triu : ?k:int -> arr -> arr

    val tril : ?k:int -> arr -> arr

    val eye : int -> arr
  end

  module Linalg : sig
    val inv : arr -> arr

    val logdet : arr -> elt

    val chol : ?upper:bool -> arr -> arr

    val svd : ?thin:bool -> arr -> arr * arr * arr

    val qr : arr -> arr * arr

    val lq : arr -> arr * arr

    val sylvester : arr -> arr -> arr -> arr

    val lyapunov : arr -> arr -> arr

    val discrete_lyapunov
      :  ?solver:[ `default | `bilinear | `direct ]
      -> arr
      -> arr
      -> arr

    val linsolve : ?trans:bool -> ?typ:[ `n | `u | `l ] -> arr -> arr -> arr

    val care : ?diag_r:bool -> arr -> arr -> arr -> arr -> arr
  end
end