# Matrices,

Published articles for Matrices,.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## The Single Most Undervalued Fact of Linear Algebra

DevFeed: [The Single Most Undervalued Fact of Linear Algebra](<https://devfeed.tech/articles/the-single-most-undervalued-fact-of-linear-algebra-38815.md>)

Original publisher: [Read original article](<https://thepalindrome.org/p/the-single-most-undervalued-fact-a90>)

Author: Tivadar Danka

Published: 2026-08-24T09:47:15Z

Content type: opinion

Language: en

Sources: [The Palindrome](<https://devfeed.tech/sources/the-palindrome.md>)

Topics: [Graphs](<https://devfeed.tech/topics/graphs.md>)

Tags: [animation](<https://devfeed.tech/tags/animation.md>), [arts](<https://devfeed.tech/tags/arts.md>), [audio](<https://devfeed.tech/tags/audio.md>), [graphs](<https://devfeed.tech/tags/graphs.md>), [linear](<https://devfeed.tech/tags/linear.md>), [linear-algebra](<https://devfeed.tech/tags/linear-algebra.md>), [matrices](<https://devfeed.tech/tags/matrices.md>), [video](<https://devfeed.tech/tags/video.md>)

### AI overview

The author presents matrices and graphs as related representations and describes remastering an earlier piece into a video with improved animation and audio recording.

### Source excerpt

Matrices are graphs and graphs are matrices

## Plan for Clojure AI, ML, and high-performance Uncomplicate ecosystem in 2026

DevFeed: [Plan for Clojure AI, ML, and high-performance Uncomplicate ecosystem in 2026](<https://devfeed.tech/articles/plan-for-clojure-ai-ml-and-high-performance-uncomplicate-ecosystem-in-2026-20726.md>)

Original publisher: [Read original article](<http://dragan.rocks/articles/25/Clojure-AI-ML-high-performance-Uncomplicate>)

Published: 2025-11-29T00:41:00Z

Content type: opinion

Language: en

Sources: [Dragan Djuric](<https://devfeed.tech/sources/dragan-djuric.md>)

Topics: [Clojure](<https://devfeed.tech/topics/clojure.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Machine learning](<https://devfeed.tech/topics/machine-learning.md>), [CUDA](<https://devfeed.tech/topics/cuda.md>), [OpenCL](<https://devfeed.tech/topics/opencl.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [NumPy](<https://devfeed.tech/topics/numpy.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-ml](<https://devfeed.tech/tags/ai-ml.md>), [algebra](<https://devfeed.tech/tags/algebra.md>), [apple](<https://devfeed.tech/tags/apple.md>), [clojure](<https://devfeed.tech/tags/clojure.md>), [cuda](<https://devfeed.tech/tags/cuda.md>), [linear](<https://devfeed.tech/tags/linear.md>), [matrices](<https://devfeed.tech/tags/matrices.md>), [neanderthal](<https://devfeed.tech/tags/neanderthal.md>), [opencl](<https://devfeed.tech/tags/opencl.md>), [programming](<https://devfeed.tech/tags/programming.md>), [vectors](<https://devfeed.tech/tags/vectors.md>)

### AI overview

The article outlines a 2026 development and funding plan for the Uncomplicate ecosystem of Clojure libraries for AI, machine learning, and high-performance computing. It describes support for Nvidia GPUs, Apple Silicon, CPUs, CUDA, OpenCL, and several planned library improvements.

### Source excerpt

I've applied for Clojurists Together yearly funding in 2026. Here's my application. If you are a Clojurists Together member, and would like to see continued development in this area, your vote can help me keep working on this :) My goal with this funding in 2026 is to continuously develop Clojure AI, ML, and high-performance ecosystem of Uncomplicate libraries (Neanderhal and many more), on Nvidia GPUs, Apple Silicon, and traditional PC. In this year, I will also focus on writing tutorals on my blog and creating websites for the projects involved, which is something that I wanted for years, but didn't have time to do because I spent all time on programming. How that work will benefit the Clojure community This will highly benefit the Clojure community as this is THE AI ecosystem for Clojure, and supporting AI is arguably the main focus on probably all software platforms. Clojure has something to offer on that front, beyond just calling OpenAI API as a web service! Uncomplicate grew to quite a few libraries (of which some are quite big; just Neanderthal is 28,000 lines of highly-condensed, aggresively macroized, and reusable code): Diamond ONNX Runtime, Neanderthal, Deep Diamond, ClojureCUDA, ClojureCPP, Apple Presets, ClojureCL, Fluokitten, Bayadera, Clojure Sound, and Commons. Here's a word or two of how I hope to improve each of these libraries with Clojurists Together funding in 2026. Neanderthal (Clojure's alternative to NumPy, on steroids) In 2025, Neanderthal celebrated its 10th birthday. It started as a humble but fast matrix and vector library for Clojure, but after 10 years of relentless improvements, now it boasts a general matrix/vector/linear algebra API implemented by no less than 5(!) engines for CPUs, GPU (Nvidia CUDA), GPU (OpenCL: AMD, Intel, Nvidia), Apple Silicon (Accelerate), and general CPU (OpenBLAS). And this is not a superficial support for the sake of ticking a check box; each of these engines support much more operations on exotic structure

## Hello Deep Learning: Hyperparameters, inspection, parallelism, ADAM

DevFeed: [Hello Deep Learning: Hyperparameters, inspection, parallelism, ADAM](<https://devfeed.tech/articles/hello-deep-learning-hyperparameters-inspection-parallelism-adam-36445.md>)

Original publisher: [Read original article](<https://berthub.eu/articles/posts/hyperparameters-inspection-adam/>)

Published: 2023-03-30T10:00:06Z

Content type: tutorial

Language: en

Sources: [Bert Hubert's writings](<https://devfeed.tech/sources/bert-hubert-s-writings.md>)

Topics: [Deep learning](<https://devfeed.tech/topics/deep-learning.md>), [Neural Network](<https://devfeed.tech/topics/neural-network.md>), [parallel](<https://devfeed.tech/topics/parallel.md>), [GPU](<https://devfeed.tech/topics/gpu.md>), [cpu](<https://devfeed.tech/topics/cpu.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [cpu](<https://devfeed.tech/tags/cpu.md>), [deep-learning](<https://devfeed.tech/tags/deep-learning.md>), [faster](<https://devfeed.tech/tags/faster.md>), [gpu](<https://devfeed.tech/tags/gpu.md>), [matrices](<https://devfeed.tech/tags/matrices.md>), [neural-network](<https://devfeed.tech/tags/neural-network.md>), [parallelism](<https://devfeed.tech/tags/parallelism.md>), [tensors](<https://devfeed.tech/tags/tensors.md>)

### AI overview

A Hello Deep Learning tutorial explains how neural networks can train faster through parallel computation, including batched tensor operations, GPU capacity, CPU SIMD instructions, multiple CPU cores, and distributed processing. It also begins discussing network parameter inspection and matrix multiplication.

### Source excerpt

This page is part of the Hello Deep Learning series of blog posts. You are very welcome to improve this page via GitHub! In the previous chapter we successfully trained a network to recognize handwritten letters, but it took an awfully long time. This is not just inconvenient: networks that take too long to train mean we can experiment less. Some things really are out of reach if each iteration takes 24 hours, instead of 15 minutes.

## Hello Deep Learning: Reading handwritten digits

DevFeed: [Hello Deep Learning: Reading handwritten digits](<https://devfeed.tech/articles/hello-deep-learning-reading-handwritten-digits-36420.md>)

Original publisher: [Read original article](<https://berthub.eu/articles/posts/handwritten-digits-sgd-batches/>)

Published: 2023-03-30T10:00:04Z

Content type: tutorial

Language: en

Sources: [Bert Hubert's writings](<https://devfeed.tech/sources/bert-hubert-s-writings.md>)

Topics: [Deep learning](<https://devfeed.tech/topics/deep-learning.md>), [Neural Network](<https://devfeed.tech/topics/neural-network.md>), [Deep neural networks](<https://devfeed.tech/topics/deep-neural-networks.md>), [Image](<https://devfeed.tech/topics/image.md>)

Tags: [blog-posts](<https://devfeed.tech/tags/blog-posts.md>), [deep-learning](<https://devfeed.tech/tags/deep-learning.md>), [images](<https://devfeed.tech/tags/images.md>), [layer](<https://devfeed.tech/tags/layer.md>), [matrices](<https://devfeed.tech/tags/matrices.md>), [neural-network](<https://devfeed.tech/tags/neural-network.md>), [pixels](<https://devfeed.tech/tags/pixels.md>), [spatial](<https://devfeed.tech/tags/spatial.md>)

### AI overview

A tutorial in the Hello Deep Learning series explains how to build a neural network that recognizes all ten handwritten digits. It describes flattening 28x28 images, applying matrix multiplications and ReLU layers, and selecting the highest-scoring output.

### Source excerpt

This page is part of the Hello Deep Learning series of blog posts. You are very welcome to improve this page via GitHub! In the previous chapter we described how automatic differentiation of the result of neural networks works. In the first and second chapters we designed and trained a one-layer neural network that could distinguish images of the digit 3 and the digit 7, and the network did so very well.

## Hello Deep Learning: Automatic differentiation, autograd

DevFeed: [Hello Deep Learning: Automatic differentiation, autograd](<https://devfeed.tech/articles/hello-deep-learning-automatic-differentiation-autograd-36257.md>)

Original publisher: [Read original article](<https://berthub.eu/articles/posts/autograd/>)

Published: 2023-03-30T10:00:03Z

Content type: tutorial

Language: en

Sources: [Bert Hubert's writings](<https://devfeed.tech/sources/bert-hubert-s-writings.md>)

Topics: [Deep learning](<https://devfeed.tech/topics/deep-learning.md>), [Neural Network](<https://devfeed.tech/topics/neural-network.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [deep-learning](<https://devfeed.tech/tags/deep-learning.md>), [matrices](<https://devfeed.tech/tags/matrices.md>), [model](<https://devfeed.tech/tags/model.md>), [neural-network](<https://devfeed.tech/tags/neural-network.md>), [pixels](<https://devfeed.tech/tags/pixels.md>), [train](<https://devfeed.tech/tags/train.md>)

### AI overview

This tutorial chapter explains how automatic differentiation and gradient descent train a five-layer neural network to recognize all ten handwritten digits. It introduces the network's layers, parameters, weights, and biases, then connects parameter updates to derivatives of the error.

### Source excerpt

This page is part of the Hello Deep Learning series of blog posts. You are very welcome to improve this page via GitHub! In the previous chapter we configured a neural network and made it learn to distinguish between the digits 3 and 7. The learning turned out to consist of "twisting the knobs in the right direction". Although simplistic, the results were pretty impressive. But, you might still be a bit underwhelmed - the network only distinguished between two digits.

## Hello Deep Learning: Linear combinations

DevFeed: [Hello Deep Learning: Linear combinations](<https://devfeed.tech/articles/hello-deep-learning-linear-combinations-36422.md>)

Original publisher: [Read original article](<https://berthub.eu/articles/posts/hello-deep-learning-chapter1/>)

Published: 2023-03-30T10:00:01Z

Content type: tutorial

Language: en

Sources: [Bert Hubert's writings](<https://devfeed.tech/sources/bert-hubert-s-writings.md>)

Topics: [Neural Network](<https://devfeed.tech/topics/neural-network.md>), [dataset](<https://devfeed.tech/topics/dataset.md>), [math](<https://devfeed.tech/topics/math.md>), [Matrix](<https://devfeed.tech/topics/matrix-org.md>), [PyTorch](<https://devfeed.tech/topics/pytorch.md>)

Tags: [dataset](<https://devfeed.tech/tags/dataset.md>), [deep-learning](<https://devfeed.tech/tags/deep-learning.md>), [math](<https://devfeed.tech/tags/math.md>), [matrices](<https://devfeed.tech/tags/matrices.md>), [neural-networks](<https://devfeed.tech/tags/neural-networks.md>), [pytorch](<https://devfeed.tech/tags/pytorch.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

This tutorial chapter introduces neural networks through a handwritten-digit classification example using the EMNIST dataset. It explains the theory of linear combinations, matrices or tensors, and explicitly configured weights before training is introduced.

### Source excerpt

This page is part of the Hello Deep Learning series of blog posts. You are very welcome to improve this page via GitHub! In this chapter we're going to build our first neural network and take it for a spin. Weirdly, this demonstration will likely simultaneously make you wonder "is this all??" and also impress you by what even this trivial stuff can do. The first part of this chapter covers the theory, and shows no code.

## Tensorphobia and the Outer Product

DevFeed: [Tensorphobia and the Outer Product](<https://devfeed.tech/articles/tensorphobia-and-the-outer-product-40397.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2016/03/28/tensorphobia-outer-product/>)

Published: 2016-03-28T09:00:46Z

Content type: article

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [math](<https://devfeed.tech/topics/math.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [linear-algebra](<https://devfeed.tech/tags/linear-algebra.md>), [math](<https://devfeed.tech/tags/math.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [matrices](<https://devfeed.tech/tags/matrices.md>), [matrix](<https://devfeed.tech/tags/matrix.md>), [primer](<https://devfeed.tech/tags/primer.md>), [tensors](<https://devfeed.tech/tags/tensors.md>)

### AI overview

An explanation of the outer product of vectors, connecting modern tensor concepts with practical linear algebra. The article develops why the construction of two vectors as a linear map should be understood as natural or canonical.

### Source excerpt

Variations on a theme Back in 2014 I wrote a post called How to Conquer Tensorphobia that should end up on Math $ \cap$ Programming's "greatest hits" album. One aspect of tensors I neglected to discuss was the connection between the modern views of tensors and the practical views of linear algebra. I feel I need to write this because every year or two I forget why it makes sense.

## Concrete Examples of Quantum Gates

DevFeed: [Concrete Examples of Quantum Gates](<https://devfeed.tech/articles/concrete-examples-of-quantum-gates-40395.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2016/01/11/concrete-examples-of-quantum-gates/>)

Published: 2016-01-11T14:05:22Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [circuit](<https://devfeed.tech/topics/circuit.md>)

Tags: [circuit](<https://devfeed.tech/tags/circuit.md>), [circuits](<https://devfeed.tech/tags/circuits.md>), [linear-maps](<https://devfeed.tech/tags/linear-maps.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [matrices](<https://devfeed.tech/tags/matrices.md>), [python](<https://devfeed.tech/tags/python.md>), [quantum](<https://devfeed.tech/tags/quantum.md>), [quantum-computing](<https://devfeed.tech/tags/quantum-computing.md>)

### AI overview

A quantum-computing tutorial explains how local quantum gates affect the full state vector of a multi-qubit register, using a three-qubit swap-gate example.

### Source excerpt

So far in this series we've seen a lot of motivation and defined basic ideas of what a quantum circuit is. But on rereading my posts, I think we would all benefit from some concreteness. "Local" operations So by now we've understood that quantum circuits consist of a sequence of gates $ A_1, \dots, A_k$, where each $ A_i$ is an 8-by-8 matrix that operates "locally" on some choice of three (or fewer) qubits.

## The Complexity of Communication

DevFeed: [The Complexity of Communication](<https://devfeed.tech/articles/the-complexity-of-communication-40369.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2014/11/10/the-complexity-of-communication/>)

Published: 2014-11-10T09:00:25Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Computer science](<https://devfeed.tech/topics/computer-science.md>), [Algorithms, Complexity](<https://devfeed.tech/topics/algorithms-complexity.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>), [circuit](<https://devfeed.tech/topics/circuit.md>)

Tags: [communication](<https://devfeed.tech/tags/communication.md>), [communication-complexity](<https://devfeed.tech/tags/communication-complexity.md>), [computational-complexity](<https://devfeed.tech/tags/computational-complexity.md>), [fourier-analysis](<https://devfeed.tech/tags/fourier-analysis.md>), [information-theory](<https://devfeed.tech/tags/information-theory.md>), [log-rank-conjecture](<https://devfeed.tech/tags/log-rank-conjecture.md>), [lower-bounds](<https://devfeed.tech/tags/lower-bounds.md>), [matrices](<https://devfeed.tech/tags/matrices.md>), [streaming-algorithms](<https://devfeed.tech/tags/streaming-algorithms.md>), [theory](<https://devfeed.tech/tags/theory.md>)

### AI overview

This tutorial introduces communication complexity: how much information two parties must exchange to jointly compute a function of separate inputs. It presents the basic two-player model and explains the subject's use in proving lower bounds, including applications to circuit design and streaming algorithms.

### Source excerpt

satellite One of the most interesting questions posed in the last thirty years of computer science is to ask how much "information" must be communicated between two parties in order for them to jointly compute something. One can imagine these two parties living on distant planets, so that the cost of communicating any amount of information is very expensive, but each person has an integral component of the answer that the other does not.

## Fixing Bugs in "Computing Homology"

DevFeed: [Fixing Bugs in "Computing Homology"](<https://devfeed.tech/articles/fixing-bugs-in-computing-homology-40340.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2014/01/23/fixing-bugs-in-computing-homology/>)

Published: 2014-01-23T23:05:16Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Computing](<https://devfeed.tech/topics/computing.md>), [Mathematics](<https://devfeed.tech/topics/mathematics.md>), [Code](<https://devfeed.tech/topics/code.md>), [function](<https://devfeed.tech/topics/function.md>), [Matrix](<https://devfeed.tech/topics/matrix-org.md>)

Tags: [bugs](<https://devfeed.tech/tags/bugs.md>), [code](<https://devfeed.tech/tags/code.md>), [computing](<https://devfeed.tech/tags/computing.md>), [function](<https://devfeed.tech/tags/function.md>), [homology](<https://devfeed.tech/tags/homology.md>), [linear-algebra](<https://devfeed.tech/tags/linear-algebra.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [matrices](<https://devfeed.tech/tags/matrices.md>), [persistent-homology](<https://devfeed.tech/tags/persistent-homology.md>), [programming](<https://devfeed.tech/tags/programming.md>), [python](<https://devfeed.tech/tags/python.md>), [quotients](<https://devfeed.tech/tags/quotients.md>), [row-reduction](<https://devfeed.tech/tags/row-reduction.md>), [test](<https://devfeed.tech/tags/test.md>)

### AI overview

This article corrects bugs in code for computing homology. It identifies an indexing error, explains a mathematical mistake in simultaneous row and column reduction, and shows how further row reduction is needed to obtain the correct rank for a triangulation of the Möbius band.

### Source excerpt

A few awesome readers have posted comments in Computing Homology to the effect of, "Your code is not quite correct!" And they're right! Despite the almost year since that post's publication, I haven't bothered to test it for more complicated simplicial complexes, or even the basic edge cases! When I posted it the mathematics just felt so solid to me that it had to be right (the irony is rich, I know).

## The Two-Dimensional Fourier Transform and Digital Watermarking

DevFeed: [The Two-Dimensional Fourier Transform and Digital Watermarking](<https://devfeed.tech/articles/the-two-dimensional-fourier-transform-and-digital-watermarking-40336.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2013/12/30/the-two-dimensional-fourier-transform-and-digital-watermarking/>)

Published: 2013-12-30T19:24:05Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [fourier transform](<https://devfeed.tech/topics/fourier-transform.md>), [watermarking](<https://devfeed.tech/topics/watermarking.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [animations](<https://devfeed.tech/tags/animations.md>), [big-o-notation](<https://devfeed.tech/tags/big-o-notation.md>), [calculus](<https://devfeed.tech/tags/calculus.md>), [dimension](<https://devfeed.tech/tags/dimension.md>), [fft](<https://devfeed.tech/tags/fft.md>), [fourier-analysis](<https://devfeed.tech/tags/fourier-analysis.md>), [fourier-transform](<https://devfeed.tech/tags/fourier-transform.md>), [github](<https://devfeed.tech/tags/github.md>), [graphics](<https://devfeed.tech/tags/graphics.md>), [image-manipulation](<https://devfeed.tech/tags/image-manipulation.md>), [images](<https://devfeed.tech/tags/images.md>), [james-hance](<https://devfeed.tech/tags/james-hance.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [matrices](<https://devfeed.tech/tags/matrices.md>), [programming](<https://devfeed.tech/tags/programming.md>), [python](<https://devfeed.tech/tags/python.md>), [star-wars](<https://devfeed.tech/tags/star-wars.md>), [up](<https://devfeed.tech/tags/up.md>), [watermarking](<https://devfeed.tech/tags/watermarking.md>)

### AI overview

This tutorial introduces the multidimensional Fourier transform, explains its relationship to the one-dimensional transform, describes an FFT-style algorithm for computing it, and applies it to digitally watermarking images.

### Source excerpt

We've studied the Fourier transform quite a bit on this blog: with four primers and the Fast Fourier Transform algorithm under our belt, it's about time we opened up our eyes to higher dimensions. Indeed, in the decades since Cooley & Tukey's landmark paper, the most interesting applications of the discrete Fourier transform have occurred in dimensions greater than 1. But for all our work we haven't yet discussed what it means to take an "n-dimensional" Fourier transform.

## Computing Homology

DevFeed: [Computing Homology](<https://devfeed.tech/articles/computing-homology-40311.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2013/04/10/computing-homology/>)

Published: 2013-04-10T16:38:25Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Computing](<https://devfeed.tech/topics/computing.md>), [Code](<https://devfeed.tech/topics/code.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [Collections](<https://devfeed.tech/topics/collections.md>), [.NET 11 Preview 7](<https://devfeed.tech/topics/net-11-preview-7.md>)

Tags: [algebraic-topology](<https://devfeed.tech/tags/algebraic-topology.md>), [algorithm](<https://devfeed.tech/tags/algorithm.md>), [code](<https://devfeed.tech/tags/code.md>), [collections](<https://devfeed.tech/tags/collections.md>), [computing](<https://devfeed.tech/tags/computing.md>), [homology](<https://devfeed.tech/tags/homology.md>), [linear-maps](<https://devfeed.tech/tags/linear-maps.md>), [matrices](<https://devfeed.tech/tags/matrices.md>), [matrix](<https://devfeed.tech/tags/matrix.md>), [ordering](<https://devfeed.tech/tags/ordering.md>), [row-reduction](<https://devfeed.tech/tags/row-reduction.md>), [structure](<https://devfeed.tech/tags/structure.md>)

### AI overview

This tutorial explains an algorithmic approach to computing homology for a simplicial complex. It represents chain groups and boundary homomorphisms as matrices, uses row reduction, and works through an extended example for computing H₁.

### Source excerpt

Update: the mistakes made in the code posted here are fixed and explained in a subsequent post (one minor code bug was fixed here, and a less minor conceptual bug is fixed in the linked post). In our last post in this series on topology, we defined the homology group. Specifically, we built up a topological space as a simplicial complex (a mess of triangles glued together), we defined an algebraic way to represent collections of simplices called chains as vectors in a vector space, we defined the boundary homomorphism $ \partial_k$ as a linear map on chains, and finally defined the homology groups as the quotient vector spaces

## Double Angle Trigonometric Formulas

DevFeed: [Double Angle Trigonometric Formulas](<https://devfeed.tech/articles/double-angle-trigonometric-formulas-40273.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2012/05/19/double-angle-trigonometric-formulas/>)

Published: 2012-05-19T23:28:53Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Mathematics](<https://devfeed.tech/topics/mathematics.md>), [Math and Logic](<https://devfeed.tech/topics/math-and-logic.md>)

Tags: [cos](<https://devfeed.tech/tags/cos.md>), [double-angle-identities](<https://devfeed.tech/tags/double-angle-identities.md>), [geometric-transformations](<https://devfeed.tech/tags/geometric-transformations.md>), [linear-algebra](<https://devfeed.tech/tags/linear-algebra.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [matrices](<https://devfeed.tech/tags/matrices.md>), [matrix](<https://devfeed.tech/tags/matrix.md>), [rotation](<https://devfeed.tech/tags/rotation.md>), [trigonometry](<https://devfeed.tech/tags/trigonometry.md>), [vector](<https://devfeed.tech/tags/vector.md>)

### AI overview

This tutorial derives the double-angle sine and cosine identities by representing planar rotations with a 2x2 matrix, squaring that matrix, and comparing it with a rotation by 2θ.

### Source excerpt

Problem: Derive the double angle identities $$\sin(2\theta) = 2\sin(\theta)\cos(\theta)\\\ \cos(2\theta) = \cos^2(\theta) - \sin^2(\theta)$$ Solution: Recall from linear algebra how one rotates a point in the plane. The matrix of rotation (derived by seeing where $ (1,0)$ and $ (0,1)$ go under a rotation by $ \theta$, and writing those coordinates in the columns) is $$A = \begin{pmatrix} \cos(\theta) & -\sin(\theta) \\\ \sin(\theta) & \cos(\theta) \end{pmatrix}$$ Next, note that to rotate a point twice by $ \theta$, we simply multiply the point (as a vector) by $ A$ twice.

## Row Reduction Over A Field

DevFeed: [Row Reduction Over A Field](<https://devfeed.tech/articles/row-reduction-over-a-field-40251.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2011/12/30/row-reduction-over-a-field/>)

Published: 2011-12-30T15:36:28Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Computing](<https://devfeed.tech/topics/computing.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>)

Tags: [eigenvalues](<https://devfeed.tech/tags/eigenvalues.md>), [eigenvectors](<https://devfeed.tech/tags/eigenvectors.md>), [field](<https://devfeed.tech/tags/field.md>), [linear-algebra](<https://devfeed.tech/tags/linear-algebra.md>), [linear-maps](<https://devfeed.tech/tags/linear-maps.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [matrices](<https://devfeed.tech/tags/matrices.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [programming](<https://devfeed.tech/tags/programming.md>), [python](<https://devfeed.tech/tags/python.md>), [row-reduction](<https://devfeed.tech/tags/row-reduction.md>)

### AI overview

This tutorial introduces row reduction over a field through matrices representing linear maps between finite-dimensional vector spaces. It explains row equivalence and describes how suitable matrix forms help determine kernels, images, dimensions, eigenvalues, and eigenvectors, with applications to persistent homology and optimization problems.

### Source excerpt

We're quite eager to get to applications of algebraic topology to things like machine learning (in particular, persistent homology). Even though there's a massive amount of theory behind it (and we do plan to cover some of the theory), a lot of the actual computations boil down to working with matrices. Of course, this means we're in the land of linear algebra; for a refresher on the terminology, see our primers on linear algebra.

## Inner Product Spaces--A Primer

DevFeed: [Inner Product Spaces--A Primer](<https://devfeed.tech/articles/inner-product-spaces-a-primer-40231.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2011/07/25/inner-product-spaces-a-primer/>)

Published: 2011-07-25T00:29:00Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Mathematics](<https://devfeed.tech/topics/mathematics.md>), [Math and Logic](<https://devfeed.tech/topics/math-and-logic.md>), [Computing](<https://devfeed.tech/topics/computing.md>)

Tags: [big-o-notation](<https://devfeed.tech/tags/big-o-notation.md>), [eigenvectors](<https://devfeed.tech/tags/eigenvectors.md>), [inner-product](<https://devfeed.tech/tags/inner-product.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [matrices](<https://devfeed.tech/tags/matrices.md>), [orthogonality](<https://devfeed.tech/tags/orthogonality.md>), [symmetry](<https://devfeed.tech/tags/symmetry.md>), [vector-spaces](<https://devfeed.tech/tags/vector-spaces.md>), [vectors](<https://devfeed.tech/tags/vectors.md>)

### AI overview

This primer explains why vector spaces can be extended with a dot-product-like operation and defines inner products through conjugate symmetry, linearity, additivity, and positive definiteness. It introduces inner product spaces and discusses their connection to linear functionals.

### Source excerpt

Vector spaces alone are not enough to do a lot of the interesting things we'd like them to do. Since a vector space is a generalization of Euclidean space, it is natural for us to investigate more specific types of vector spaces which are more akin to Euclidean space. In particular, we want to include the notion of a dot product. By admitting additional structure to a vector space, we may perform more computations, and hopefully get more interesting results.

## Linear Algebra--A Primer

DevFeed: [Linear Algebra--A Primer](<https://devfeed.tech/articles/linear-algebra-a-primer-40204.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2011/06/19/linear-algebra-a-primer/>)

Published: 2011-06-19T18:39:40Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Mathematics](<https://devfeed.tech/topics/mathematics.md>), [Matrix](<https://devfeed.tech/topics/matrix-org.md>), [Graphs](<https://devfeed.tech/topics/graphs.md>)

Tags: [adjacency-matrix](<https://devfeed.tech/tags/adjacency-matrix.md>), [algebra](<https://devfeed.tech/tags/algebra.md>), [eigenvalues](<https://devfeed.tech/tags/eigenvalues.md>), [eigenvectors](<https://devfeed.tech/tags/eigenvectors.md>), [graph](<https://devfeed.tech/tags/graph.md>), [history](<https://devfeed.tech/tags/history.md>), [linear-algebra](<https://devfeed.tech/tags/linear-algebra.md>), [linear-independence](<https://devfeed.tech/tags/linear-independence.md>), [linear-maps](<https://devfeed.tech/tags/linear-maps.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [matrices](<https://devfeed.tech/tags/matrices.md>), [matrix](<https://devfeed.tech/tags/matrix.md>), [primer](<https://devfeed.tech/tags/primer.md>), [transformation](<https://devfeed.tech/tags/transformation.md>), [vector](<https://devfeed.tech/tags/vector.md>), [vector-spaces](<https://devfeed.tech/tags/vector-spaces.md>)

### AI overview

This primer introduces linear algebra through its historical origins in solving systems of linear equations. It explains determinants, matrices, vector algebra, and linear transformations, and shows how matrices can model graphs and compute path counts.

### Source excerpt

Story Time Linear algebra was founded around the same time as Calculus (think Leibniz, circa 1700) solely for the purpose of solving general systems of linear equations. The coefficients of a system were written in a grid form, with rows corresponding to equations and columns to the unknown variables. Using a computational tool called the determinant (an awkward, but computable formula involving only the coefficients of the equations in a system), researchers were able to solve these systems, opening a world of information about the positions of celestial bodies and large-scale measurements (of geodesic arcs) on the surface of the earth.