Lie algebra of by Ciro Santilli 40 Updated 2025-07-16
For every matrix in the set of all n-by-y square matrices , has inverse .
Note that this works even if is not invertible, and therefore not in !
Therefore, the Lie algebra of is the entire .
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.

There are unlisted articles, also show them or only show them.