Special linear group by Ciro Santilli 40 Updated 2025-07-16
Specials sub case of the general linear group when the determinant equals exactly 1.
Isometry group by Ciro Santilli 40 Updated 2025-07-16
The group of all transformations that preserve some bilinear form, notable examples:
TODO motivation. Motivation. Motivation. Motivation. The definitin with quotient group is easy to understand.
Poincaré group by Ciro Santilli 40 Updated 2025-07-16
In simple and concrete terms. Suppose you observe N particles following different trajectories in Spacetime.
There are two observers traveling at constant speed relative to each other, and so they see different trajectories for those particles:
Note that the first two types of transformation are exactly the non-relativistic Galilean transformations.
The Poincare group is the set of all matrices such that such a relationship like this exists between two frames of reference.
You just map the value (1, 1) to the value 1 of , and it works out. E.g. for , the group generated by of (1, 1) is:
0 = (0, 0)
1 = (1, 1)
2 = (0, 2)
3 = (1, 0)
4 = (0, 1)
5 = (1, 2)
6 = (0, 0) = 0
Dihedral group by Ciro Santilli 40 Updated 2025-07-16
Our notation: , called "dihedral group of degree n", means the dihedral group of the regular polygon with sides, and therefore has order (all rotations + flips), called the "dihedral group of order 2n".
Space group by Ciro Santilli 40 Updated 2025-07-16
All possible repetitive crystal structures!
219 of them.
This is a general principle of software/hardware design that Ciro feels holds wide applicability.
The most extreme case of this is of course the integrated circuit itself, in which it is essentially impossible (?) to observe the specific value of some indidual wire at some point.
Somewhat on the other extreme, we have high level programming languages running on top of an operating system: at this point, you can just GDB step debug your program, print the value of any variable/memory location, and fully understand anything that you want. Provided that you manage to easily reach that point of interest.
And for anything in between we have various intermediate levels of complication. The most notable perhaps being developing the operating system itself. At this level, you can't so easily step debug (although techniques do exist). For early boot or bootloaders for example, you might want to use JTAG for example on real hardware.
In parallel to this, there is also another very important pair of closely linked tradeoffs:
  • the lower level at which something is implemented, the faster it runs
  • emulation gives you observability back, at the cost of slower runtime
Emulation also has another potential downside: unless you are very careful at implementing things correctly, your model might not be representative of the real thing. Also, there may be important tradeoffs between how much the model looks like the real thing, and how fast it runs. For example, QEMU's use of binary translation allows it to run orders of magnitude faster than gem5. However, you are unable to make any predictions about system performance with QEMU, since you are not modelling key elements like the cache or CPU pipeline.
Instrumentation is another technique that has can be considered to achieve greater observability.
Computer architecture by Ciro Santilli 40 Updated 2025-07-16
The term loosely refers to certain layers of the computer abstraction layers hierarchy, usually high level hardware internals like CPU pipeline, caching and the memory system. Basically exactly what gem5 models.
This is a good book, it gives a summary of biographies, and a reasonable description of the main ideas, with many illustrations. Each subject is not presented in incredible detail, but it is a good overview of events.

Pinned article: Introduction to the OurBigBook Project

Welcome to the OurBigBook Project! Our goal is to create the perfect publishing platform for STEM subjects, and get university-level students to write the best free STEM tutorials ever.
Everyone is welcome to create an account and play with the site: ourbigbook.com/go/register. We belive that students themselves can write amazing tutorials, but teachers are welcome too. You can write about anything you want, it doesn't have to be STEM or even educational. Silly test content is very welcome and you won't be penalized in any way. Just keep it legal!
We have two killer features:
  1. topics: topics group articles by different users with the same title, e.g. here is the topic for the "Fundamental Theorem of Calculus" ourbigbook.com/go/topic/fundamental-theorem-of-calculus
    Articles of different users are sorted by upvote within each article page. This feature is a bit like:
    • a Wikipedia where each user can have their own version of each article
    • a Q&A website like Stack Overflow, where multiple people can give their views on a given topic, and the best ones are sorted by upvote. Except you don't need to wait for someone to ask first, and any topic goes, no matter how narrow or broad
    This feature makes it possible for readers to find better explanations of any topic created by other writers. And it allows writers to create an explanation in a place that readers might actually find it.
    Figure 1.
    Screenshot of the "Derivative" topic page
    . View it live at: ourbigbook.com/go/topic/derivative
  2. local editing: you can store all your personal knowledge base content locally in a plaintext markup format that can be edited locally and published either:
    This way you can be sure that even if OurBigBook.com were to go down one day (which we have no plans to do as it is quite cheap to host!), your content will still be perfectly readable as a static site.
    Figure 5. . You can also edit articles on the Web editor without installing anything locally.
    Video 3.
    Edit locally and publish demo
    . Source. This shows editing OurBigBook Markup and publishing it using the Visual Studio Code extension.
  3. https://raw.githubusercontent.com/ourbigbook/ourbigbook-media/master/feature/x/hilbert-space-arrow.png
  4. Infinitely deep tables of contents:
    Figure 6.
    Dynamic article tree with infinitely deep table of contents
    .
    Descendant pages can also show up as toplevel e.g.: ourbigbook.com/cirosantilli/chordate-subclade
All our software is open source and hosted at: github.com/ourbigbook/ourbigbook
Further documentation can be found at: docs.ourbigbook.com
Feel free to reach our to us for any help or suggestions: docs.ourbigbook.com/#contact