# New Linear Algebra Textbook (downloadable) Has JULIA Companion

**URL:** <https://discourse.julialang.org/t/new-linear-algebra-textbook-downloadable-has-julia-companion/18665>\
**Category:** Specific Domains\
**Created:** [December 14, 2018, 4:43pm UTC](https://discourse.julialang.org/t/new-linear-algebra-textbook-downloadable-has-julia-companion/18665 "2018-12-14T16:43:00Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![sc0ttwad3](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sc0ttwad3/32/3908_2.png) [@sc0ttwad3](https://discourse.julialang.org/u/sc0ttwad3)\
**Post date:** [December 14, 2018, 4:43pm UTC](https://discourse.julialang.org/t/new-linear-algebra-textbook-downloadable-has-julia-companion/18665/1 "2018-12-14T16:43:00Z")

</div>

If this hasn’t already been posted, a new **Linear Algebra textbook** has a great **JULIA companion** , lecture slides, and additional exercises from Stephen Boyd out of Stanford and Lieven Vandenberghe, is available for download. I highly recommend this book as it includes real problems as exercises instead of the “toy” problems a lot of books contain. Also the focus on Least Squares is directly usable.

The JULIA companion is over a 170+ pages and a 1/3 of the way through has you working with the JULIA package DSP to find the coefficients of a polynomial using its Convolution function _conv_. And later, exercises such as writing “a function that solves the multi-objective least squares problem, with given positive weights.”

Downloads at [http://vmls-book.stanford.edu/](http://vmls-book.stanford.edu/)

**[Introduction to Applied Linear Algebra – Vectors, Matrices, and Least Squares](http://vmls-book.stanford.edu/)**  
[Stephen Boyd](http://www.stanford.edu/~boyd/) and [Lieven Vandenberghe](http://www.ee.ucla.edu/~vandenbe/)  
[Cambridge University Press](http://www.cambridge.org/)

---

<div class="post-metadata">

**Author:** ![stevengj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stevengj/32/71_2.png) [@stevengj](https://discourse.julialang.org/u/stevengj)\
**Post date:** [December 14, 2018, 6:57pm UTC](https://discourse.julialang.org/t/new-linear-algebra-textbook-downloadable-has-julia-companion/18665/2 "2018-12-14T18:57:34Z")

</div>

Boyd’s book is a great resource!

It only covers the QR factorization (not LU or eigenvalues or SVD), so I can’t use it exclusively for my linear-algebra course at MIT, but @alanedelman and I have been putting together a series of Julia notebooks that go along with Strang’s _Introduction to Linear Algebra_: [https://github.com/stevengj/1806/blob/master/summaries.md](https://github.com/stevengj/1806/blob/master/summaries.md)

---

<div class="post-metadata">

**Author:** ![chakravala](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chakravala/32/6832_2.png) [@chakravala](https://discourse.julialang.org/u/chakravala)\
**Post date:** [December 14, 2018, 7:02pm UTC](https://discourse.julialang.org/t/new-linear-algebra-textbook-downloadable-has-julia-companion/18665/3 "2018-12-14T19:02:00Z")

</div>

Are there any details about what was used to compile the book, was any kind of Jupyter notebook or other feature used to automatically generate the PDF, or was it manually typeset?

I’m asking because I am developing my own package, [VerTeX.jl](https://github.com/chakravala/VerTeX.jl) which is intended to be used to generate LaTeX documents using Julia, specifically mathematical papers, notes, documentation, etc.

---

<div class="post-metadata">

**Author:** ![sc0ttwad3](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sc0ttwad3/32/3908_2.png) [@sc0ttwad3](https://discourse.julialang.org/u/sc0ttwad3)\
**Post date:** [December 15, 2018, 1:59am UTC](https://discourse.julialang.org/t/new-linear-algebra-textbook-downloadable-has-julia-companion/18665/4 "2018-12-15T01:59:00Z")

</div>

@chakravala What’s explained in the Julia companion is:

“In these notes we write mathematical notation (as in VMLS) in  
standard mathematics font, e.g., y = Ax. Julia code, expressions, and snippets  
are written in a fixed-width typewriter font, e.g., y = A\*x. We encourage you to  
cut and paste our Julia code snippets into a Julia interactive session or notebook,  
to test them out, and maybe modify them and run them again. You can also use  
our snippets as templates for your own Julia code. At some point we will collect  
the Julia snippets in this companion document into Julia notebooks that you can  
easily run.”

“The code snippets in this compaion document are compatible with Julia 1.0,  
which is not quite the same as earlier versions, like Julia 0.6. Some of the functions  
we use are in the standard packages LinearAlgebra, SparseArrays, and Plots,  
and a few others.”

---

<div class="post-metadata">

**Author:** ![sc0ttwad3](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sc0ttwad3/32/3908_2.png) [@sc0ttwad3](https://discourse.julialang.org/u/sc0ttwad3)\
**Post date:** [December 15, 2018, 2:25am UTC](https://discourse.julialang.org/t/new-linear-algebra-textbook-downloadable-has-julia-companion/18665/5 "2018-12-15T02:25:49Z")

</div>

@stevengj What a fantastic resource you and @alanedelman have put together and made publicly available. I look forward to going through and referencing the comprehensive material in really well done notebooks that seem to perform more like workbooks to actually interact with and build upon the textbook/lecture concepts and equations.

The organizational format where resources are grouped by lecture then exams (with past exams and additional practice problems that include solutions), seems like the way all course corresponding git repositories should be created.

Again, thanks for the pointer and all the work you’ve done.

---

<div class="post-metadata">

**Author:** ![BLI](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bli/32/37206_2.png) [@BLI](https://discourse.julialang.org/u/BLI)\
**Post date:** [December 15, 2018, 10:40am UTC](https://discourse.julialang.org/t/new-linear-algebra-textbook-downloadable-has-julia-companion/18665/6 "2018-12-15T10:40:10Z")

</div>

There is a nice presentation by Randall J. LeVeque at PyData, Seattle 2017 on how to produce a LaTeX book from Jupyter (numerics of hyperbolic PDE solvers, using the Finite Volume Method, I think). If this process could be automated, that would be super. See [Randall J. LeVeque - Writing a Book in Jupyter Notebooks - YouTube](https://www.youtube.com/watch?v=mC_RERKi56c) .

---

<div class="post-metadata">

**Author:** ![chakravala](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chakravala/32/6832_2.png) [@chakravala](https://discourse.julialang.org/u/chakravala)\
**Post date:** [December 15, 2018, 11:43am UTC](https://discourse.julialang.org/t/new-linear-algebra-textbook-downloadable-has-julia-companion/18665/7 "2018-12-15T11:43:51Z")

</div>

Thanks for sharing, my VerTeX document system will not be based on Jupyter notebooks, but it will instead be based on a new acyclic graph data format which I call VerTeX, which parses and generates LaTeX documents. I haven’t decided on a specification yet for how Julia computations will be included in the text of it. My current specifications are more concerned with how to construct new documents from theorems and definitions. It is not ready yet for consumption, but I intend to publicize a paper with it soon, to demonstrate it.

> [@Citations in docs](https://discourse.julialang.org/t/citations-in-docs/5066/30):
>
> Somewhat tangentially related: I am currently creating a package that will allow people to maintain a database of LaTeX notes, and the Julia package will automatically be able to parse this database of LaTeX notes to extract citations, references, and it will allow authors to generate graph diagrams depicting the inter-relationship and dependencies of definitions, theorems, calculations, references, and results. It might be possible to substitute it in place of a docs system in the future, but f…

Theoretically, it should be possible to hook-in Jupyter notebooks also, but that is going to be much later.
