Skip to content

Commit 00b14a8

Browse files
committed
editing book ...
1 parent c47dfc1 commit 00b14a8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+91
-91
lines changed

LICENSE

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2019 Owl - OCaml Scientific Computing
3+
Copyright (c) 2019 Owl - Owl Online Tutorials
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

bin/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
These scripts form the compilation pipeline for OCaml Scientific Computing. They aren't
1+
These scripts form the compilation pipeline for Owl Online Tutorials. They aren't
22
really designed to be useful outside of the book toolchain, but the plan is to
33
factor out the useful bits eventually.
44

bin/bin/app.ml

+1-1
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ let build : Command.t =
106106
(******************************************************************************)
107107
let main =
108108
Command.group
109-
~summary:"OCaml Scientific Computing authoring and publication tools"
109+
~summary:"Owl Online Tutorials authoring and publication tools"
110110
[ "build", build
111111
]
112112

bin/lib/book.ml

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ let (/) = Filename.concat
77
(* HTML fragments *)
88
(******************************************************************************)
99
let head_item ?chapter_title () : Html.item =
10-
let site_title = "OCaml Scientific Computing" in
10+
let site_title = "Owl Online Tutorials" in
1111
let page_title = match chapter_title with
1212
| None -> site_title
1313
| Some t' -> sprintf "%s - %s" t' site_title
@@ -60,9 +60,9 @@ let title_bar,title_bar_frontpage =
6060
[`Data "API Docs"];
6161
]
6262
in
63-
let h1 = h1 [`Data "OCaml Scientific Computing"] in
63+
let h1 = h1 [`Data "Owl Online Tutorials"] in
6464
let h4 = h4 [`Data "Functional Programming meets Data Science"] in
65-
let h5 = h5 [`Data "1"; sup [`Data "st"]; `Data " Edition (in progress)"] in
65+
let h5 = h5 [`Data ""] in
6666
let title_bar =
6767
div ~a:["class","title-bar"] [
6868
div ~a:["class","title"] [h1; h5; nav]

book/appa.html

+3-3
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
data-type="appendix">
1414
<h1>Installation</h1>
1515

16-
<p>To work through <em>OCaml Scientific Computing</em>, you'll need the
16+
<p>To work through <em>Owl Online Tutorials</em>, you'll need the
1717
following software packages installed:</p>
1818

1919
<ul>
@@ -28,14 +28,14 @@ <h1>Installation</h1>
2828
<li>
2929
<p><a href="http://opam.ocaml.org">OPAM</a> version 1.0 or
3030
greater. This will give you access to all the OCaml
31-
libraries used in <em>OCaml Scientific Computing</em>.</p>
31+
libraries used in <em>Owl Online Tutorials</em>.</p>
3232
</li>
3333

3434
<li>
3535
<p><a href="https://github.com/diml/utop"><em>utop</em></a>
3636
is a modern interactive toplevel with command history, tab
3737
completion, and defaults that are tuned to work with the
38-
examples in <em>OCaml Scientific Computing</em>.</p>
38+
examples in <em>Owl Online Tutorials</em>.</p>
3939
</li>
4040
</ul>
4141

book/atlas.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -66,5 +66,5 @@
6666
}
6767
},
6868
"theme": "oreillymedia/animal_theme",
69-
"title": "OCaml Scientific Computing 1e"
69+
"title": "Owl Online Tutorials 1e"
7070
}

book/author_bio.tex

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
\end{wrapfigure}\par
44
\textbf{Liang Wang} is a Technical Lead at Nokia, a Senior Researcher at the University of Cambridge (affiliated with Queens' College), an Intel Software Innovator, a Fellow in the Higher Education Academy in UK. He is currently pursuing the MBA at Aalto University Executive Education.
55

6-
Liang has broad research interest in operating systems, computer networks, edge computing, machine learning, high performance computing, optimisation theory, big data, and Fintech. He leads the R\&D of a popular OCaml Scientific Computing System. Liang loves commercialisation and entrepreneurship, he designed the fastest approximate K-NN algorithm and co-founded a Computer Lab spin-off Kvasir Analytics. He also enjoys networking with different people to share ideas and innovate.\par
6+
Liang has broad research interest in operating systems, computer networks, edge computing, machine learning, high performance computing, optimisation theory, big data, and Fintech. He leads the R\&D of a popular Owl Online Tutorials System. Liang loves commercialisation and entrepreneurship, he designed the fastest approximate K-NN algorithm and co-founded a Computer Lab spin-off Kvasir Analytics. He also enjoys networking with different people to share ideas and innovate.\par
77

88
\vspace{3cm}
99

book/book.tex

+1-1
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@
208208

209209

210210
\title{%
211-
\textbf{\fontsize{24}{24}\bfseries OCaml Scientific Computing}\\
211+
\textbf{\fontsize{24}{24}\bfseries Owl Online Tutorials}\\
212212
\vspace{5mm}
213213
\large Functional Programming Meets Data Science
214214
\vspace{12cm}

book/install.html

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<h1>Installation Instructions</h1>
22

3-
<p>These instructions are aimed at readers of OCaml Scientific Computing,
3+
<p>These instructions are aimed at readers of Owl Online Tutorials,
44
though much of what you find here will be useful for anyone who
55
wants to get a good working OCaml installation.</p>
66

@@ -17,7 +17,7 @@ <h1>Installation Instructions</h1>
1717
<li>Install <a href="https://github.com/diml/utop">Utop</a>, a
1818
modern interactive toplevel with command history, tab
1919
completion, and defaults that are tuned to work with the
20-
examples in OCaml Scientific Computing,</li>
20+
examples in Owl Online Tutorials,</li>
2121

2222
<li>Set up your editing environment.</li>
2323

@@ -31,7 +31,7 @@ <h1>Installation Instructions</h1>
3131
</ul>
3232

3333
<p>Note that Windows is not currently supported by the examples
34-
in OCaml Scientific Computing or by OPAM, although it is being worked on.
34+
in Owl Online Tutorials or by OPAM, although it is being worked on.
3535
Until that's ready, we recommend using a virtual machine running
3636
Debian Linux on your local machine, or
3737
<a href="https://docker.com">Docker for Windows</a>.</p>

book/titlepage.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
<body>
1212
<section data-type="titlepage">
13-
<h1>OCaml Scientific Computing</h1>
13+
<h1>Owl Online Tutorials</h1>
1414

1515
<p class="edition">First Edition</p>
1616
<!--(only include edition line if it's 2e or higher -->

docs/aeos.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
<html style="" lang="en" class="js flexbox fontface"><head><meta charset="utf-8"><meta content="width=device-width, initial-scale=1.0" name="viewport"><meta content="OCaml Scientific and Engineering Computing - Tutorial Book" name="description"><meta content="OCaml, Data Science, Data Analytics, Analytics, Functional Programming, Machine Learning, Deep Neural Network, Scientific Computing, Numerical Algorithm, Tutorial, Linear Algebra, Matrix" name="keywords"><meta content="Liang Wang" name="author"><title>Automatic Empirical Tuning - OCaml Scientific Computing</title><link href="css/app.css" rel="stylesheet"><link href="css/prism.css" rel="stylesheet"><script src="js/min/modernizr-min.js"></script><script src="js/prism.js"></script><script src="https://use.typekit.net/gfj8wez.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script><script>try{Typekit.load();}catch(e){}</script><script data-ad-client="ca-pub-1868946892712371" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><script async src="https://www.googletagmanager.com/gtag/js?id=UA-123353217-1"></script><script>
1+
<html style="" lang="en" class="js flexbox fontface"><head><meta charset="utf-8"><meta content="width=device-width, initial-scale=1.0" name="viewport"><meta content="OCaml Scientific and Engineering Computing - Tutorial Book" name="description"><meta content="OCaml, Data Science, Data Analytics, Analytics, Functional Programming, Machine Learning, Deep Neural Network, Scientific Computing, Numerical Algorithm, Tutorial, Linear Algebra, Matrix" name="keywords"><meta content="Liang Wang" name="author"><title>Automatic Empirical Tuning - Owl Online Tutorials</title><link href="css/app.css" rel="stylesheet"><link href="css/prism.css" rel="stylesheet"><script src="js/min/modernizr-min.js"></script><script src="js/prism.js"></script><script src="https://use.typekit.net/gfj8wez.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script><script>try{Typekit.load();}catch(e){}</script><script data-ad-client="ca-pub-1868946892712371" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><script async src="https://www.googletagmanager.com/gtag/js?id=UA-123353217-1"></script><script>
22
window.dataLayer = window.dataLayer || [];
33
function gtag(){dataLayer.push(arguments);}
44
gtag('js', new Date());
5-
gtag('config', 'UA-123353217-1');</script></head><body><div class="title-bar"><div class="title"><h1>OCaml Scientific Computing</h1><h5>1<sup>st</sup> Edition (in progress)</h5><nav><a href="index.html">Home</a><a href="toc.html">Table of Contents</a><a href="faqs.html">FAQs</a><a href="install.html">Install</a><a href="https://ocaml.xyz/package/">API Docs</a></nav></div></div><div class="wrap"><div class="left-column"><a class="to-chapter" href="toc.html"><small>Back</small><h5>Table of Contents</h5></a></div><article class="main-body"><section class="level1" id="automatic-empirical-tuning">
5+
gtag('config', 'UA-123353217-1');</script></head><body><div class="title-bar"><div class="title"><h1>Owl Online Tutorials</h1><h5></h5><nav><a href="index.html">Home</a><a href="toc.html">Table of Contents</a><a href="faqs.html">FAQs</a><a href="install.html">Install</a><a href="https://ocaml.xyz/package/">API Docs</a></nav></div></div><div class="wrap"><div class="left-column"><a class="to-chapter" href="toc.html"><small>Back</small><h5>Table of Contents</h5></a></div><article class="main-body"><section class="level1" id="automatic-empirical-tuning">
66
<h1>Automatic Empirical Tuning</h1>
77
<p>The behaviours of a software system are controlled by many of its parameters. These parameters can significantly impact the performance of the software. Assigning optimal values to the parameters to achieve the best performance is one core task for software optimisation. This chapter reveals the technical details of the parameter tunning module in Owl.</p>
88
<section class="level2" id="what-is-parameter-tuning">

docs/algodiff.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
<html style="" lang="en" class="js flexbox fontface"><head><meta charset="utf-8"><meta content="width=device-width, initial-scale=1.0" name="viewport"><meta content="OCaml Scientific and Engineering Computing - Tutorial Book" name="description"><meta content="OCaml, Data Science, Data Analytics, Analytics, Functional Programming, Machine Learning, Deep Neural Network, Scientific Computing, Numerical Algorithm, Tutorial, Linear Algebra, Matrix" name="keywords"><meta content="Liang Wang" name="author"><title>Algorithmic Differentiation - OCaml Scientific Computing</title><link href="css/app.css" rel="stylesheet"><link href="css/prism.css" rel="stylesheet"><script src="js/min/modernizr-min.js"></script><script src="js/prism.js"></script><script src="https://use.typekit.net/gfj8wez.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script><script>try{Typekit.load();}catch(e){}</script><script data-ad-client="ca-pub-1868946892712371" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><script async src="https://www.googletagmanager.com/gtag/js?id=UA-123353217-1"></script><script>
1+
<html style="" lang="en" class="js flexbox fontface"><head><meta charset="utf-8"><meta content="width=device-width, initial-scale=1.0" name="viewport"><meta content="OCaml Scientific and Engineering Computing - Tutorial Book" name="description"><meta content="OCaml, Data Science, Data Analytics, Analytics, Functional Programming, Machine Learning, Deep Neural Network, Scientific Computing, Numerical Algorithm, Tutorial, Linear Algebra, Matrix" name="keywords"><meta content="Liang Wang" name="author"><title>Algorithmic Differentiation - Owl Online Tutorials</title><link href="css/app.css" rel="stylesheet"><link href="css/prism.css" rel="stylesheet"><script src="js/min/modernizr-min.js"></script><script src="js/prism.js"></script><script src="https://use.typekit.net/gfj8wez.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script><script>try{Typekit.load();}catch(e){}</script><script data-ad-client="ca-pub-1868946892712371" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><script async src="https://www.googletagmanager.com/gtag/js?id=UA-123353217-1"></script><script>
22
window.dataLayer = window.dataLayer || [];
33
function gtag(){dataLayer.push(arguments);}
44
gtag('js', new Date());
5-
gtag('config', 'UA-123353217-1');</script></head><body><div class="title-bar"><div class="title"><h1>OCaml Scientific Computing</h1><h5>1<sup>st</sup> Edition (in progress)</h5><nav><a href="index.html">Home</a><a href="toc.html">Table of Contents</a><a href="faqs.html">FAQs</a><a href="install.html">Install</a><a href="https://ocaml.xyz/package/">API Docs</a></nav></div></div><div class="wrap"><div class="left-column"><a class="to-chapter" href="toc.html"><small>Back</small><h5>Table of Contents</h5></a></div><article class="main-body"><section class="level1" id="algorithmic-differentiation">
5+
gtag('config', 'UA-123353217-1');</script></head><body><div class="title-bar"><div class="title"><h1>Owl Online Tutorials</h1><h5></h5><nav><a href="index.html">Home</a><a href="toc.html">Table of Contents</a><a href="faqs.html">FAQs</a><a href="install.html">Install</a><a href="https://ocaml.xyz/package/">API Docs</a></nav></div></div><div class="wrap"><div class="left-column"><a class="to-chapter" href="toc.html"><small>Back</small><h5>Table of Contents</h5></a></div><article class="main-body"><section class="level1" id="algorithmic-differentiation">
66
<h1>Algorithmic Differentiation</h1>
77
<p>In science and engineering it is often necessary to study the relationship between two or more quantities, where changing of one quantity leads to changes of others. For example, in describing the motion an object, we denote velocity <span class="math inline">\(v\)</span> of an object with the change of the distance regarding time:</p>
88
<p><span class="math display">\[v = \lim_{\Delta~t}\frac{\Delta~s}{\Delta~t} = \frac{ds}{dt}.\]</span> {#eq:algodiff:def}</p>

docs/architecture.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
<html style="" lang="en" class="js flexbox fontface"><head><meta charset="utf-8"><meta content="width=device-width, initial-scale=1.0" name="viewport"><meta content="OCaml Scientific and Engineering Computing - Tutorial Book" name="description"><meta content="OCaml, Data Science, Data Analytics, Analytics, Functional Programming, Machine Learning, Deep Neural Network, Scientific Computing, Numerical Algorithm, Tutorial, Linear Algebra, Matrix" name="keywords"><meta content="Liang Wang" name="author"><title>Architecture Overview - OCaml Scientific Computing</title><link href="css/app.css" rel="stylesheet"><link href="css/prism.css" rel="stylesheet"><script src="js/min/modernizr-min.js"></script><script src="js/prism.js"></script><script src="https://use.typekit.net/gfj8wez.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script><script>try{Typekit.load();}catch(e){}</script><script data-ad-client="ca-pub-1868946892712371" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><script async src="https://www.googletagmanager.com/gtag/js?id=UA-123353217-1"></script><script>
1+
<html style="" lang="en" class="js flexbox fontface"><head><meta charset="utf-8"><meta content="width=device-width, initial-scale=1.0" name="viewport"><meta content="OCaml Scientific and Engineering Computing - Tutorial Book" name="description"><meta content="OCaml, Data Science, Data Analytics, Analytics, Functional Programming, Machine Learning, Deep Neural Network, Scientific Computing, Numerical Algorithm, Tutorial, Linear Algebra, Matrix" name="keywords"><meta content="Liang Wang" name="author"><title>Architecture Overview - Owl Online Tutorials</title><link href="css/app.css" rel="stylesheet"><link href="css/prism.css" rel="stylesheet"><script src="js/min/modernizr-min.js"></script><script src="js/prism.js"></script><script src="https://use.typekit.net/gfj8wez.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script><script>try{Typekit.load();}catch(e){}</script><script data-ad-client="ca-pub-1868946892712371" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><script async src="https://www.googletagmanager.com/gtag/js?id=UA-123353217-1"></script><script>
22
window.dataLayer = window.dataLayer || [];
33
function gtag(){dataLayer.push(arguments);}
44
gtag('js', new Date());
5-
gtag('config', 'UA-123353217-1');</script></head><body><div class="title-bar"><div class="title"><h1>OCaml Scientific Computing</h1><h5>1<sup>st</sup> Edition (in progress)</h5><nav><a href="index.html">Home</a><a href="toc.html">Table of Contents</a><a href="faqs.html">FAQs</a><a href="install.html">Install</a><a href="https://ocaml.xyz/package/">API Docs</a></nav></div></div><div class="wrap"><div class="left-column"><a class="to-chapter" href="toc.html"><small>Back</small><h5>Table of Contents</h5></a></div><article class="main-body"><section class="level1" id="architecture-overview">
5+
gtag('config', 'UA-123353217-1');</script></head><body><div class="title-bar"><div class="title"><h1>Owl Online Tutorials</h1><h5></h5><nav><a href="index.html">Home</a><a href="toc.html">Table of Contents</a><a href="faqs.html">FAQs</a><a href="install.html">Install</a><a href="https://ocaml.xyz/package/">API Docs</a></nav></div></div><div class="wrap"><div class="left-column"><a class="to-chapter" href="toc.html"><small>Back</small><h5>Table of Contents</h5></a></div><article class="main-body"><section class="level1" id="architecture-overview">
66
<h1>Architecture Overview</h1>
77
<p>Owl is an emerging library developed in the OCaml language for scientific and engineering computing. It focuses on providing a comprehensive set of high-level numerical functions so that developers can quickly build up any data analytical applications. After over one-year intensive development and continuous optimisation, Owl has evolved into a powerful software system with competitive performance to mainstream numerical libraries. Meanwhile, Owl’s overall architecture remains simple and elegant. Its small code base can be easily managed by a small group of developers.</p>
88
<p>In this chapter, we first present Owl’s design, core components, and its key functionality. We show that Owl benefits greatly from OCaml’s module system which not only allows us to write concise generic code with superior performance, but also leads to a very unique design to enable parallel and distributed computing. OCaml’s static type checking significantly reduces potential bugs and accelerates the development cycle. We also share the knowledge and lessons learnt from building up a full-fledge system for scientific computing with the functional programming community.</p>

0 commit comments

Comments
 (0)