Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tl linkfix 5 #695

Merged
merged 4 commits into from
Mar 28, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions blog/2015/10/auto-diff-in-julia.md
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ julia> deriv1 - deriv2

Notice that our dual number result comes *close* to the result obtained from Calculus.jl, but is actually slightly different. That slight difference is due to the approximation error inherent to the finite differencing method employed by Calculus.jl.

In reality, the number types that ForwardDiff.jl provides are quite a bit more complicated than `DualNumber`. Instead of simple dual numbers, the various `ForwardDiffNumber` types behave like *ensembles* of dual numbers and [hyper-dual numbers](http://adl.stanford.edu/hyperdual/Fike_AIAA-2011-886.pdf) (the higher-order analog of dual numbers). This ensemble-based approach allows for simultaneous calculation of multiple higher-order partial derivatives in a single evaluation of the target function. For an in-depth examination of ForwardDiff.jl's number type implementation, see [this section of the developer documentation](https://www.juliadiff.org/ForwardDiff.jl/types.html).
In reality, the number types that ForwardDiff.jl provides are quite a bit more complicated than `DualNumber`. Instead of simple dual numbers, the various `ForwardDiffNumber` types behave like *ensembles* of dual numbers and [hyper-dual numbers](http://adl.stanford.edu/hyperdual/Fike_AIAA-2011-886.pdf) (the higher-order analog of dual numbers). This ensemble-based approach allows for simultaneous calculation of multiple higher-order partial derivatives in a single evaluation of the target function.

# Performance Comparison: The Ackley Function

Expand Down Expand Up @@ -202,7 +202,7 @@ Let's start by looking at the evaluation times of `ackley(x)` in both Python and

As you can see, there's already a significant performance difference between the languages. We'll have to keep that in mind when comparing our Julia differentiation tools with AlgoPy, in order to avoid confusing the languages' performance characteristics with those of the libraries (though there is obviously a solid coupling between the two concepts).

The below table shows the evaluation times of `∇ackley(x)` using various libraries (the `chunk_size` column denotes a configuration option passed to the `ForwardDiff.gradient` method, see the [chunk-mode docs](https://www.juliadiff.org/ForwardDiff.jl/chunk_vec_modes.html) for details.):
The below table shows the evaluation times of `∇ackley(x)` using various libraries (the `chunk_size` column denotes a configuration option passed to the `ForwardDiff.gradient` method, see the [docs](http://www.juliadiff.org/ForwardDiff.jl/latest/index.html) for details.):

| length(x) | AlgoPy time (s) | Calculus.jl time (s) | ForwardDiff time (s) | chunk_size |
|-----|-------|--------|--------|------|
Expand Down
2 changes: 1 addition & 1 deletion blog/2015/10/datastreams.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,4 +66,4 @@ Quick rundown of each package:
* DataStream scheduling/management: I'm also interested in developing capabilities around scheduling and managing DataStreams.


_The work on DataStreams.jl was carried out as part of the Julia Summer of Code program, made possible thanks to the generous support of the [Gordon and Betty Moore Foundation](https://moore.org), and MIT._
_The work on DataStreams.jl was carried out as part of the Julia Summer of Code program, made possible thanks to the generous support of the [Gordon and Betty Moore Foundation](https://www.moore.org), and MIT._
2 changes: 1 addition & 1 deletion blog/2015/10/glvisualize.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ https://gist.github.com/SimonDanisch/e0a8a2cbc3106ce6c123#file-dragndrop-jl

Another feature I've been working on is better 2D support.
I've implemented different anti-aliased marker, text rendering and line types.
Apart from the image markers, they all use the [distance field technique](https://www.valvesoftware.com/publications/2007/SIGGRAPH2007_AlphaTestedMagnification.pdf), to achieve view independent anti-aliasing.
Apart from the image markers, they all use the [distance field technique](https://steamcdn-a.akamaihd.net/apps/valve/2007/SIGGRAPH2007_AlphaTestedMagnification.pdf), to achieve view independent anti-aliasing.
Here are a few examples:

![lines](https://github.com/SimonDanisch/Blog/blob/master/10-22-15-jsoc/lines.png?raw=true)
Expand Down
6 changes: 3 additions & 3 deletions blog/2015/10/julia-0.4-release.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ the release-0.4 branch of the codebase, and we recommend the 0.4.x line for user
requiring a more stable Julia environment.

The Julia ecosystem continues to grow, and there are now
[over 700](https://pkg.julialang.org/pulse.html) registered packages! (highlights below).
over 700 registered packages! (highlights below).
JuliaCon 2015 was held in June, and >60 talks are [available to view](https://www.youtube.com/playlist?list=PLP8iPy9hna6Sdx4soiGrSefrmOPdUWixM). [JuliaCon India](https://www.juliacon.in/2015) will be held in Bangalore on 9 and 10 October.

We welcome bug reports on our GitHub tracker, and general usage questions on the
Expand All @@ -36,7 +36,7 @@ to try 0.4 from the comfort of your browser. Happy Coding!
- [Function call overloading for arbitrary objects](https://github.com/JuliaLang/julia/pull/8712)
- [Generated functions](https://github.com/JuliaLang/julia/issues/7311) (sometimes known as "staged functions") introduce finer control
over compile-time specialization.
[Docs](https://docs.julialang.org/en/release-0.4/manual/metaprogramming/#generated-functions)
[Docs](https://docs.julialang.org/en/v1/manual/metaprogramming/#)
and related [JuliaCon talk](https://www.youtube.com/watch?v=KAN8zbM659o&list=PLP8iPy9hna6Sdx4soiGrSefrmOPdUWixM&index=55).
- [Support for documenting user functions and other objects](https://github.com/JuliaLang/julia/pull/8791)
and retrieving the documentation via the help system.
Expand Down Expand Up @@ -67,7 +67,7 @@ Nightly builds will use the versioning scheme 0.5.0-dev.
**Community News**

The Julia ecosystem continues to grow, and there are now
[over 700](https://pkg.julialang.org/pulse.html) registered packages! (highlights below)
over 700 registered packages! (highlights below)

The second [JuliaCon](https://juliacon.org) was held in Cambridge (USA) in June, 2015.
Over 60 talks were recorded and
Expand Down
6 changes: 4 additions & 2 deletions blog/2016/01/atom-work.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,13 @@
@def title = "Julia IDE work in Atom"
@def authors = "Mike Innes"

~~~<div align="center"><img src="https://github.com/JunoLab/atom-ink/raw/readme/demos/full.gif" /></div>~~~
~~~
<div align="center"><img src="https://github.com/JunoLab/atom-ink/raw/readme/demos/full.gif" /></div>
~~~

> A PL designer used to be able to design some syntax and semantics for their language, implement a compiler, and then call it a day. – Sean McDirmid

In the few years since its [initial release](/blog/2012/02/why-we-created-julia/), the Julia language has made wonderful progress. Over [four hundred contributors](https://github.com/JuliaLang/julia/graphs/contributors) – and counting – have donated their time developing exciting and modern language features like [channels](https://github.com/JuliaLang/julia/pull/12042) for concurrency, a [native documentation system](https://docs.julialang.org/en/latest/manual/documentation/), [staged functions](https://docs.julialang.org/en/latest/manual/metaprogramming/#generated-functions), [compiled packages](https://docs.julialang.org/en/release-0.4/manual/modules/#module-initialization-and-precompilation), [threading](https://github.com/JuliaLang/julia/pull/13410), and tons more. In the lead up to 1.0 we have a faster and more stable runtime, a more comprehensive standard library, and a more enthusiastic community than ever before.
In the few years since its [initial release](/blog/2012/02/why-we-created-julia/), the Julia language has made wonderful progress. Over [four hundred contributors](https://github.com/JuliaLang/julia/graphs/contributors) – and counting – have donated their time developing exciting and modern language features like [channels](https://github.com/JuliaLang/julia/pull/12042) for concurrency, a [native documentation system](https://docs.julialang.org/en/latest/manual/documentation/), [staged functions](https://docs.julialang.org/en/latest/manual/metaprogramming/#generated-functions), [compiled packages](https://docs.julialang.org/en/v1/manual/modules/#), [threading](https://github.com/JuliaLang/julia/pull/13410), and tons more. In the lead up to 1.0 we have a faster and more stable runtime, a more comprehensive standard library, and a more enthusiastic community than ever before.

However, a programming language isn’t just a compiler or spec in a vacuum. More and more, the ecosystem around a language – the packages, tooling, and community that support you – are a huge determining factor in where a language can be used, and who it can be used by. Making Julia accessible to everybody means facing these issues head-on. In particular, we’ll be putting a lot of effort into building a comprehensive IDE, Juno, which supports users with features like smart autocompletion, plotting and data handling, interactive live coding and debugging, and more.

Expand Down
4 changes: 1 addition & 3 deletions blog/2016/09/biojulia2016-mid.md
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,5 @@ not to join us?
## Acknowledgements

I gratefully acknowledge the Moore Foundation and the Julia project for
supporting the BioJulia project. I also would like to thank [Ben J.
Ward](https://github.com/Ward9250) and [Kevin
Murray](https://github.com/kdmurray91) for comments on my program code and other
supporting the BioJulia project. I also would like to thank [Ben J. Ward](https://github.com/BenJWard) and [Kevin Murray](https://github.com/kdmurray91) for comments on my program code and other
contributions.
2 changes: 1 addition & 1 deletion blog/2016/10/StructuredQueries.md
Original file line number Diff line number Diff line change
Expand Up @@ -374,7 +374,7 @@ Recall that the present query framework extracts the "value expression" of a que
row -> lift(*, row[1], row[2])
```

While there is a [simpler way](https://github.com/davidagold/AbstractTables.jl/blob/2a7771ce865b961fa0e454508ce8b7aa6a85e1fd/src/column_indexable/query/select.jl#L43-L48) to achieve standard lifting semantics, this approach (which is currently employed by the column-indexing collection machinery) does not easily support non-standard lifting semantics such as three-valued logic.
While there is a simpler way to achieve standard lifting semantics, this approach (which is currently employed by the column-indexing collection machinery) does not easily support non-standard lifting semantics such as three-valued logic.

The higher-order lifting approach is not without its own drawbacks. Most notably, non-standard lifting semantics, such as three-valued logic, are more difficult to implement and are subject to restrictions that do not apply to the method extension lifting approach. The details of this difficulty is the proper subject of another blog post. The summary of the problem is: higher-order lifting (via code transformation, such as within `@query`) can only give non-standard lifting semantics to methods called explicitly within the expression passed to `@query`. That is,

Expand Down
2 changes: 1 addition & 1 deletion blog/2016/10/julia-0.5-release.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ A separate blog post detailing some of the [highlights of the new release](/blog
We'll be releasing regular bugfix backports from the 0.5.x line, which is recommended for users requiring a stable language and API.
Major feature work is ongoing on master for 0.6-dev.

The Julia ecosystem continues to grow, and there are now [over one thousand](https://pkg.julialang.org/pulse.html) registered packages!
The Julia ecosystem continues to grow, and there are now over one thousand registered packages!
The third annual [JuliaCon](https://juliacon.org/) took place in Cambridge, MA in the [summer of 2016](/blog/2016/09/juliacon2016/), with an exciting line up of talks and keynotes.
Most of them are [available to view](https://www.youtube.com/playlist?list=PLP8iPy9hna6SQPwZUDtAM59-wPzCPyD_S).

Expand Down
2 changes: 1 addition & 1 deletion blog/2017/09/gsoc-derivative_operators.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ So to convert the PDE into an ODE, we discritize the equation in space but not i
$u_i' = A_{h}u_i + f(t,u_i)$
Where $A$ is a linear operator and not the transformation matrix. Thus we will have to make the ODE solvers of **DifferentialEquations.jl** compatible with linear operators also.

Since it is tedious to compute the Taylor coefficients by hand, Fornberg gave an [algorithm](https://amath.colorado.edu/faculty/fornberg/Docs/MathComp_88_FD_formulas.pdf) to compute them efficiently for any derivative and approximation order. These stencils can efficiently compute derivatives at any point by taking appropriately weighted sums of neighboring points. For example, $[-1, 2, -1]$ is the second order stencil for calculating the 2nd derivative at a point.
Since it is tedious to compute the Taylor coefficients by hand, Fornberg gave an [algorithm](https://www.scribd.com/document/436149037/MathComp-88-FD-formulas-pdf) to compute them efficiently for any derivative and approximation order. These stencils can efficiently compute derivatives at any point by taking appropriately weighted sums of neighboring points. For example, $[-1, 2, -1]$ is the second order stencil for calculating the 2nd derivative at a point.

In **DiffEqOperators.jl** we can easily extract stencils of any derivative and approximation order from an operator. For eg.

Expand Down
2 changes: 1 addition & 1 deletion blog/2018/03/pifonts.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ By the way, these alternative symbols for π such as `\mitpi` don't evaluate as

### The phonogram symbol Ⓟ

Not all fonts contain a suitable Greek π at `U+03C0`. A few expensive fonts such as [Gotham](https://www.typography.com/fonts/gotham/overview/) offer the circled P symbol at `U+03c0` instead of π. This is the "phonogram" (or "phonorecord") symbol, which usually lives at `U+2117` (the one at `U+24C5` is also used), and it's like the copyright symbol © but for sound recordings. The story behind this is that, particularly before the days of Unicode standardization, font companies sometimes favoured pragmatism over correctness. According to [David Berlow](https://www.typophile.com/node/45116):
Not all fonts contain a suitable Greek π at `U+03C0`. A few expensive fonts such as [Gotham](https://www.typography.com/fonts/gotham/overview/) offer the circled P symbol at `U+03c0` instead of π. This is the "phonogram" (or "phonorecord") symbol, which usually lives at `U+2117` (the one at `U+24C5` is also used), and it's like the copyright symbol © but for sound recordings. The story behind this is that, particularly before the days of Unicode standardization, font companies sometimes favoured pragmatism over correctness. According to [David Berlow](http://davidberlow.fontbureau.com/):

> we at Font Bureau understand how users work, and so we put the p in a circle, a "must-have" glyph that is very difficult for a user to make on the fly, in the slot of a glyph (math pi) that most people really don't need (because even if they do, it's in the Symbol font on every single computer on earth).

Expand Down
9 changes: 4 additions & 5 deletions blog/2019/05/beyond-ml-pipelines-with-mlj.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,16 +51,15 @@ composition.
<iframe width="560" height="315" src="https://www.youtube.com/embed/CfHkjNmj1eE?start=1300" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></br>
~~~

&#9758; The MLJ [tour](https://github.com/alan-turing-institute/MLJ.jl/blob/master/docs/src/tour.ipynb)
&#9758; The MLJ [tutorials](https://alan-turing-institute.github.io/MLJTutorials/).

&#9758; Building a [self-tuning random
forest](https://github.com/alan-turing-institute/MLJ.jl/blob/master/examples/random_forest.ipynb)
&#9758; Building a [self-tuning random forest](https://alan-turing-institute.github.io/MLJTutorials/getting-started/model-tuning/)

&#9758; An MLJ [docker image](https://github.com/ysimillides/mlj-docker) (including tour)

&#9758; Implementing the MLJ interface for a [new model](https://alan-turing-institute.github.io/MLJ.jl/dev/adding_models_for_general_use/)

&#9758; How to [contribute](https://github.com/alan-turing-institute/MLJ.jl/blob/master/CONTRIBUTE.md)
&#9758; How to [contribute](https://github.com/alan-turing-institute/MLJ.jl/blob/master/CONTRIBUTING.md)

&#9758; Julia [Slack](https://julialang.slack.com) channel: \#mlj.

Expand Down Expand Up @@ -212,7 +211,7 @@ yhat(Xnew) # to predict on new data
Once a pipeline like this has been built and tested on sample data, it
can be exported as a stand-alone model, ready to be trained on any
dataset. For details, see the MLJ
[documentation](https://alan-turing-institute.github.io/MLJ.jl/dev/learning_networks/). In
[documentation](https://alan-turing-institute.github.io/MLJ.jl/dev/composing_models/#Learning-Networks-1). In
the future, Julia macros will allow common architectures (e.g., linear
pipelines) to be built in a couple of lines.

Expand Down
2 changes: 1 addition & 1 deletion blog/2019/05/jsoc19.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ So we are excited to see what our impressive set of students achieve this summer
|12|Kirill Zubov|Implement package for solving high-dimensional partial differential equations using Neural Networks|[✔️](https://nextjournal.com/kirill_zubov)|
|13|Ludovico Bessi|Accelerating optimization via machine learning with different surrogate models|[✔️](https://nextjournal.com/ludoro)|
|14|Pankaj Mishra|Automatic Computation of Sparse Jacobians|[✔️](https://nextjournal.com/pkj-m)|
|15|Sharan Yalburgi|Variational Inference Methods in Turing.jl|[✔️](https://sharanry.github.io/post/)|
|15|Sharan Yalburgi|Variational Inference Methods in Turing.jl|[✔️](https://sharanry.github.io/)|
|16|Yashvardhan Sharma|Implementing Charibde: The Hybrid Algorithm for constrained Interval Optimisation|[✔️](https://nextjournal.com/yash_jsoc)|
|17|Shivin Srivastava|Efficient Finite Difference Discretizations of Partial Differential Operators||
|18|Saurabh Agarwal|Implementing Parallel Extrapolation Algorithms||
Expand Down
2 changes: 1 addition & 1 deletion jsoc/gsoc/flux.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ exciting project if you are interested in both music and machine learning.

Flux usually takes part in [Google Summer of Code](https://summerofcode.withgoogle.com), as part of the wider Julia organisation. We follow the same [rules and application guidelines](/jsoc/projects/) as Julia, so please check there for more information on applying. Below are a set of ideas for potential projects (though you are welcome to explore anything you are interested in).

Flux projects are typically very competitive; we encourage you to get started early, as successful students typically have early PRs or working prototypes as part of the application. It is a good idea to simply start contributing via issue discussion and PRs and let a project grow from there; you can take a look at [this list of issues](https://github.com/issues?utf8=✓&q=is%3Aopen+archived%3Afalse+user%3AFluxML+label%3A%22help+wanted%22) for some starter contributions.
Flux projects are typically very competitive; we encourage you to get started early, as successful students typically have early PRs or working prototypes as part of the application. It is a good idea to simply start contributing via issue discussion and PRs and let a project grow from there; you can take a look at [this list of issues](https://github.com/FluxML/Flux.jl/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22) for some starter contributions.

### Port ML Tutorials

Expand Down
2 changes: 1 addition & 1 deletion learning/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ If you know of other classes using Julia for teaching, please consider [updating

@@tight-list
* AGH University of Science and Technology, Poland
* [Signal processing in medical diagnostic systems](https://home.agh.edu.pl/~pieciak/en/dydaktyka/przetwarzanie-sygnalow-w-systemach-diagnostyki-medycznej) (Tomasz Pieciak), Spring 2015
* [Signal processing in medical diagnostic systems](http://home.agh.edu.pl/~pieciak/en/dydaktyka/przetwarzanie-sygnalow-w-systemach-diagnostyki-medycznej) (Tomasz Pieciak), Spring 2015
* Arizona State University
* MAT 423, Numerical Analysis (Prof. Clemens Heitzinger), Fall 2014
* Azad University, Science and Research Branch
Expand Down