8000 Updating documentation · DiffSharp/DiffSharp@9380993 · GitHub
[go: up one dir, main page]

Skip to content

Commit 9380993

Browse files
committed
Updating documentation
1 parent 61007c1 commit 9380993

File tree

3 files changed

+124
-116
lines changed

3 files changed

+124
-116
lines changed

docs/input/benchmarks.fsx

Lines changed: 121 additions & 114 deletions
Original file line numberDiff line numberDiff line change
@@ -24,143 +24,147 @@ $$$
2424
2525
for the vector-to-vector case.
2626
27-
The running times are averaged over half a million calls to each operation, on a PC with an Intel Core i7-4785T 2.2 GHz CPU and 16 GB RAM, running Windows 10 Build 10240 and .NET Framework 4.6.
27+
The running times are averaged over 10000 calls to each operation, with vector size 100, on a PC with an Intel Core i7-4785T 2.2 GHz CPU and 16 GB RAM, running Windows 10 Build 10240 and .NET Framework 4.6.
28+
29+
Please note that the numbers for multivariate functions are highly dependent on the selected size of the input vector (i.e., independent variables). The [Helmholtz Energy Function](examples-helmholtzenergyfunction.html) page demonstrates how the overhead factors scale as a function of the number of independent variables.
2830
2931
<style type="text/css">
3032
.tg {border-collapse:collapse;border-spacing:0;}
31-
.tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;}
32-
.tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;}
33-
.tg .tg-gik2{font-size:10px;font-family:serif !important;;background-color:#ecf4ff;color:#000000;text-align:center}
34-
.tg .tg-ieqq{font-size:10px;font-family:serif !important;;background-color:#e4ffb3;text-align:center}
35-
.tg .tg-habg{font-weight:bold;font-size:10px;font-family:serif !important;}
36-
.tg .tg-g4y3{font-size:10px;font-family:serif !important;}
37-
.tg .tg-x05y{font-size:10px;font-family:serif !important;;background-color:#ffffc7;text-align:center}
38-
.tg .tg-8xte{font-size:10px;font-family:serif !important;;background-color:#ecf4ff;text-align:center}
33+
.tg td{font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;}
34+
.tg th{font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;}
35+
.tg .tg-mk1h{font-size:10px;background-color:#ecf4ff;color:#000000;text-align:center;vertical-align:top}
36+
.tg .tg-xswp{font-size:10px;background-color:#ecf4ff;text-align:center;vertical-align:top}
37+
.tg .tg-klyj{font-weight:bold;font-size:10px;vertical-align:top}
38+
.tg .tg-5sg4{font-size:10px;vertical-align:top}
39+
.tg .tg-9t4f{font-size:10px;background-color:#ffffc7;text-align:center;vertical-align:top}
40+
.tg .tg-h8aj{font-size:10px;background-color:#e4ffb3;text-align:center;vertical-align:top}
3941
</style>
4042
<table class="tg">
4143
<tr>
42-
<th class="tg-g4y3"></th>
43-
<th class="tg-x05y">diff </th>
44-
<th class="tg-x05y">diff2 </th>
45-
<th class="tg-x05y">diffn </th>
46-
<th class="tg-ieqq">grad </th>
47-
<th class="tg-ieqq">gradv</th>
48-
<th class="tg-ieqq">hessian </th>
49-
<th class="tg-ieqq">hessianv</th>
50-
<th class="tg-ieqq">gradhessian </th>
51-
<th class="tg-ieqq">gradhessianv</th>
52-
<th class="tg-ieqq">laplacian </th>
53-
<th class="tg-gik2">jacobian </th>
54-
<th class="tg-8xte">jacobianv</th>
55-
<th class="tg-8xte">jacobianT</th>
56-
<th class="tg-8xte">jacobianTv</th>
44+
<th class="tg-5sg4"></th>
45+
<th class="tg-9t4f">diff </th>
46+
<th class="tg-9t4f">diff2 </th>
47+
<th class="tg-9t4f">diffn </th>
48+
<th class="tg-h8aj">grad </th>
49+
<th class="tg-h8aj">gradv</th>
50+
<th class="tg-h8aj">hessian </th>
51+
<th class="tg-h8aj">hessianv</th>
52+
<th class="tg-h8aj">gradhessian </th>
53+
<th class="tg-h8aj">gradhessianv</th>
54+
<th class="tg-h8aj">laplacian </th>
55+
<th class="tg-mk1h">jacobian </th>
56+
<th class="tg-xswp">jacobianv</th>
57+
<th class="tg-xswp">jacobianT</th>
58+
<th class="tg-xswp">jacobianTv</th>
5759
</tr>
5860
<tr>
59-
<td class="tg-habg">AD</td>
60-
<td class="tg-x05y">3.83</td>
61-
<td class="tg-x05y">9.71</td>
62-
<td class="tg-x05y">9.33</td>
63-
<td class="tg-ieqq">12.23</td>
64-
<td class="tg-ieqq">2.19</td>
65-
<td class="tg-ieqq">63.84</td>
66-
<td class="tg-ieqq">7.33</td>
67-
<td class="tg-ieqq">63.15</td>
68-
<td class="tg-ieqq">7.11</td>
69-
<td class="tg-ieqq">64.47</td>
70-
<td class="tg-8xte">10.97</td>
71-
<td class="tg-8xte">2.47</td>
72-
<td class="tg-8xte">11.97</td>
73-
<td class="tg-8xte">3.17</td>
61+
<td class="tg-klyj">AD</td> 9E88
62+
<td class="tg-9t4f">3.33</td>
63+
<td class="tg-9t4f">9.30</td>
64+
<td class="tg-9t4f">9.21</td>
65+
<td class="tg-h8aj">4.79</td>
66+
<td class="tg-h8aj">2.11</td>
67+
<td class="tg-h8aj">810.22</td>
68+
<td class="tg-h8aj">9.62</td>
69+
<td class="tg-h8aj">823.86</td>
70+
<td class="tg-h8aj">9.55</td>
71+
<td class="tg-h8aj">814.19</td>
72+
<td class="tg-xswp">15.10</td>
73+
<td class="tg-xswp">2.55</td>
74+
<td class="tg-xswp">15.41</td>
75+
<td class="tg-xswp">4.53</td>
7476
</tr>
7577
<tr>
76-
<td class="tg-habg">Numerical</td>
77-
<td class="tg-x05y">3.24</td>
78-
<td class="tg-x05y">3.78</td>
79-
<td class="tg-x05y"></td>
80-
<td class="tg-ieqq">51.21</td>
81-
<td class="tg-ieqq">10.30</td>
82-
<td class="tg-ieqq">528.24</td>
83-
<td class="tg-ieqq">96.71</td>
84-
<td class="tg-ieqq">518.38</td>
85-
<td class="tg-ieqq">108.08</td>
86-
<td class="tg-ieqq">581.75</td>
87-
<td class="tg-gik2">38.31</td>
88-
<td class="tg-8xte">3.57</td>
89-
<td class="tg-8xte">20.26</td>
90-
<td class="tg-8xte"></td>
78+
<td class="tg-klyj">Numerical</td>
79+
<td class="tg-9t4f">1.93</td>
80+
<td class="tg-9t4f">2.78</td>
81+
<td class="tg-9t4f"></td>
82+
<td class="tg-h8aj">161.36</td>
83+
<td class="tg-h8aj">3.49</td>
84+
<td class="tg-h8aj">16.75k</td>
85+
<td class="tg-h8aj">322.88</td>
86+
<td class="tg-h8aj">16.82k</td>
87+
<td class="tg-h8aj">326.97</td>
88+
<td class="tg-h8aj">16.75k</td>
89+
<td class="tg-mk1h">112.54</td>
90+
<td class="tg-xswp">2.21</td>
91+
<td class="tg-xswp">111.38</td>
92+
<td class="tg-xswp"></td>
9193
</tr>
9294
<tr style="visibility:hidden">
93-
<td class="tg-g4y3"></td>
94-
<td class="tg-x05y"></td>
95-
<td class="tg-x05y"></td>
96-
<td class="tg-x05y"></td>
97-
<td class="tg-ieqq"></td>
98-
<td class="tg-ieqq"></td>
99-
<td class="tg-ieqq"></td>
100-
<td class="tg-ieqq"></td>
101-
<td class="tg-ieqq"></td>
102-
<td class="tg-ieqq"></td>
103-
<td class="tg-ieqq"></td>
104-
<td class="tg-8xte"></td>
105-
<td class="tg-8xte"></td>
106-
<td class="tg-8xte"></td>
107-
<td class="tg-8xte"></td>
95+
<td class="tg-5sg4"></td>
96+
<td class="tg-9t4f"></td>
97+
<td class="tg-9t4f"></td>
98+
<td class="tg-9t4f"></td>
99+
<td class="tg-h8aj"></td>
100+
<td class="tg-h8aj"></td>
101+
<td class="tg-h8aj"></td>
102+
<td class="tg-h8aj"></td>
103+
<td class="tg-h8aj"></td>
104+
<td class="tg-h8aj"></td>
105+
<td class="tg-h8aj"></td>
106+
<td class="tg-xswp"></td>
107+
<td class="tg-xswp"></td>
108+
<td class="tg-xswp"></td>
109+
<td class="tg-xswp"></td>
108110
</tr>
109111
<tr>
110-
<td class="tg-g4y3"></td>
111-
<td class="tg-x05y">diff'</td>
112-
<td class="tg-x05y">diff2'</td>
113-
<td class="tg-x05y">diffn'</td>
114-
<td class="tg-ieqq">grad'</td>
115-
<td class="tg-ieqq">gradv'</td>
116-
<td class="tg-ieqq">hessian'</td>
117-
<td class="tg-ieqq">hessianv'</td>
118-
<td class="tg-ieqq">gradhessian'</td>
119-
<td class="tg-ieqq">gradhessianv'</td>
120-
<td class="tg-ieqq">laplacian'</td>
121-
<td class="tg-8xte">jacobian'</td>
122-
<td class="tg-8xte">jacobianv'</td>
123-
<td class="tg-8xte">jacobianT'</td>
124-
<td class="tg-8xte">jacobianTv'</td>
112+
<td class="tg-5sg4"></td>
113+
<td class="tg-9t4f">diff'</td>
114+
<td class="tg-9t4f">diff2'</td>
115+
<td class="tg-9t4f">diffn'</td>
116+
<td class="tg-h8aj">grad'</td>
117+
<td class="tg-h8aj">gradv'</td>
118+
<td class="tg-h8aj">hessian'</td>
119+
<td class="tg-h8aj">hessianv'</td>
120+
<td class="tg-h8aj">gradhessian'</td>
121+
<td class="tg-h8aj">gradhessianv'</td>
122+
<td class="tg-h8aj">laplacian'</td>
123+
<td class="tg-xswp">jacobian'</td>
124+
<td class="tg-xswp">jacobianv'</td>
125+
<td class="tg-xswp">jacobianT'</td>
126+
<td class="tg-xswp">jacobianTv'</td>
125127
</tr>
126128
<tr>
127-
<td class="tg-habg">AD</td>
128-
<td class="tg-x05y">3.44</td>
129-
<td class="tg-x05y">12.56</td>
130-
<td class="tg-x05y">10.12</td>
131-
<td class="tg-ieqq">3.36</td>
132-
<td class="tg-ieqq">2.22</td>
133-
<td class="tg-ieqq">64.97</td>
134-
<td class="tg-ieqq">6.79</td>
135-
<td class="tg-ieqq">63.22</td>
136-
<td class="tg-ieqq">7.33</td>
137-
<td class="tg-ieqq">64.41</td>
138-
<td class="tg-8xte">10.96</td>
139-
<td class="tg-8xte">2.39</td>
140-
<td class="tg-8xte">11.78</td>
141-
<td class="tg-8xte">3.14</td>
129+
<td class="tg-klyj">AD</td>
130+
<td class="tg-9t4f">3.35</td>
131+
<td class="tg-9t4f">12.30</td>
132+
<td class="tg-9t4f">10.12</td>
133+
<td class="tg-h8aj">4.70</td>
134+
<td class="tg-h8aj">2.05</td>
135+
<td class="tg-h8aj">821.31</td>
136+
<td class="tg-h8aj">9.56</td>
137+
<td class="tg-h8aj">808.22</td>
138+
<td class="tg-h8aj">9.66</td>
139+
<td class="tg-h8aj">810.23</td>
140+
<td class="tg-xswp">15.05</td>
141+
<td class="tg-xswp">2.51</td>
142+
<td class="tg-xswp">15.26</td>
143+
<td class="tg-xswp">4.50</td>
142144
</tr>
143145
<tr>
144-
<td class="tg-habg">Numerical</td>
145-
<td class="tg-x05y">4.09</td>
146-
<td class="tg-x05y">5.01</td>
147-
<td class="tg-x05y"></td>
148-
<td class="tg-ieqq">45.13</td>
149-
<td class="tg-ieqq">12.11</td>
150-
<td class="tg-ieqq">521.20</td>
151-
<td class="tg-ieqq">96.19</td>
152-
<td class="tg-ieqq">504.64</td>
153-
<td class="tg-ieqq">107.55</td>
154-
<td class="tg-ieqq">579.96</td>
155-
<td class="tg-8xte">38.17</td>
156-
<td class="tg-8xte">4.60</td>
157-
<td class="tg-8xte">20.08</td>
158-
<td class="tg-8xte"></td>
146+
<td class="tg-klyj">Numerical</td>
147+
<td class="tg-9t4f">2.82</td>
148+
<td class="tg-9t4f">3.71</td>
149+
<td class="tg-9t4f"></td>
150+
<td class="tg-h8aj">160.56</td>
151+
<td class="tg-h8aj">4.66</td>
152+
<td class="tg-h8aj">16.78k</td>
153+
<td class="tg-h8aj">323.03</td>
154+
<td class="tg-h8aj">16.80k</td>
155+
<td class="tg-h8aj">327.68</td>
156+
<td class="tg-h8aj">16.78k</td>
157+
<td class="tg-xswp">111.62</td>
158+
<td class="tg-xswp">3.20</td>
159+
<td class="tg-xswp">112.43</td>
160+
<td class="tg-xswp"></td>
159161
</tr>
160162
</table>
161163
162164
<br>
163165
166+
The benchmarks given in the above table can be replicated using the benchmarking tool: <pre>dsbench -vsize 100 -r 10000</pre>
167+
164168
Running Benchmarks on Your Machine
165169
----------------------------------
166170
@@ -171,5 +175,8 @@ If you would like to run the benchmarks on your own machine, you can use the **d
171175
<img src="img/benchmarks.png" alt="Chart" style="width:569px"/>
172176
</div>
173177
</div>
178+
179+
<br>
180+
174181
*)
175182

docs/input/examples-gradientdescent.fsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ let xmin = gd f (toDV [1.; 1.]) (D 0.9) (D 0.00001)
4747
let fxmin = f xmin
4848

4949
(*** hide, define-output: o ***)
50-
printf "val xmin : DV = DV [|-1.57023951; 3.141523675|]
51-
val fxmin : D = D -1.999999843"
50+
printf "val xmin : DV = DV [|-1.570790759; 3.141591964|]
51+
val fxmin : D = D -2.0"
5252
(*** include-output: o ***)
5353

5454
(**

0 commit comments

Comments
 (0)
0