Live data from Hacker News

Matrices and Graph

thepalindrome.org

31–40 of 47 posts

Re: Matrices and Graph

#31

Fun fact: this is only valid for domains that have a notion of "selfness", i.e. that there is such thing as an "identity matrix" for the quantities. Consider the following square matrix: TSLA APPL GOOG MSFT Alice | 100 5 0 1 Bob | 0 30 100 5 Carol | 2 2 2 2 Dan | 0 0 0 1000 An input vector of stock prices gives an output vector of net worths. However, that is about the only way you can use this matrix. You cannot tra…

Is there any domain where you can apply arbitrary transformations on a table and still make sense? I feel there is some depth in your argument that I cannot infer just by the content of your comment and I would be keen to look further into it. I.e in you domain example, a currency would be coordinate and you can move to alternate currencies? Would that be the identity you look for?

Re: Matrices and Graph

#32
If folks are looking for terms to Google, try "spectral graph theory" and "algebraic graph theory"

https://en.wikipedia.org/wiki/Spectral_graph_theory

https://en.wikipedia.org/wiki/Algebraic_graph_theory

Pretty much every field in math has a related field where you try to turn problems from the former into linear algebra problems.

The "spectral theorem" (https://en.wikipedia.org/wiki/Spectral_theorem) is an important theorem in linear algebra that gives conditions for when a matrix can be diagonalized, which is closely related to what its eigenvalues/eigenvectors look like.

The simplest version of the spectral theorem says that a symmetric matrix with real-number entries has real-number eigenvalues. The eigenvalues of a matrix are called the "spectrum of the matrix", hence "spectral theorem" and "spectral graph theory".

The adjacency matrix of any undirected graph is real symmetric, so its eigenvalues are all real numbers and it's natural to ask whether they say anything about the underlying graph.

Lucky for us, there are lots of surprising connections!

For example, say G is an finite undirected graph. The chromatic number of G, denoted χ(G), is the fewest number of colors needed to color its vertexes so that no two adjacent vertexes have the same color.

If λ₁ is the largest eigenvalue of G's adjacency matrix then there's a theorem (Wilf's theorem) that says

    χ(G) ≤ 1 + ⌊λ₁⌋
That is, you can always color a graph with 1 + ⌊λ₁⌋ colors, where ⌊x⌋ is the floor of x.

And there are some (finite, undirected) graphs that require exactly 1 + ⌊λ₁⌋ colors, so we're not doing any better unless we can say something more specific about the graph.

Wilf's Theorem:

https://www2.math.upenn.edu/~wilf/website/Eigenvalues%20of%2...

https://www2.math.upenn.edu/~wilf/website/Inequality%20for%2...

Re: Matrices and Graph

#33

Fun fact: this is only valid for domains that have a notion of "selfness", i.e. that there is such thing as an "identity matrix" for the quantities. Consider the following square matrix: TSLA APPL GOOG MSFT Alice | 100 5 0 1 Bob | 0 30 100 5 Carol | 2 2 2 2 Dan | 0 0 0 1000 An input vector of stock prices gives an output vector of net worths. However, that is about the only way you can use this matrix. You cannot tra…

There's a little more nuance:

1. Technically, the table you shared is better thought of as a two-dimensional tensor, rather than a "graph-like matrix" -- which as you point out must be a linear map from a (vector) space to itself.

2. While not technically "Principal Component Analysis", one could do "Singular Value Decomposition" for an arbitrarily shaped 2-tensor. Further, there are other decomposition schemes that make sense for more generic tensors.

3. (Rotations / linear combinations in such spaces) Given a table of stock holdings, it can be sensible to talk about linear combinations / rotations etc. Eg: The "singular vectors" in this space could give you a decomposition in terms of companies held simultaneously by people (eg: SAAS, energy sector, semiconductors, entertainment, etc). Likewise, singular vectors on the other side would tell you the typical holding patterns among people (and clustering people by those, eg. retired pensioner invested for steady income stream, young professional investing for long-term capital growth, etc). As it turns out, this kind of approximate (low-rank) factorization is at the heart of recommender systems.

Re: Matrices and Graph

#34
post #29
post #7

This is especially fascinating when you consider graphs/diagrams are a way to encode math.

The fact that you can represent a graph (the mathematical abstract object) as a diagram is sort of by-the-by here. The most important thing is that graph algorithms and concepts have a strong relation to numerical aspects of the linear algebra and can be used to accelerate computation. (You could of course argue that the act that graphs can be represented as a diagram helps humans come up with such algorithms, but th…

I was pointing out the other direction:

Diagrams are how you encode categorical models of semantics, which naturally can be represented as graphs. Those graphs can in turn be encoded as matrices. So you have a way to encode semantic foundations as matrices — which you can then use graph algorithms to analyze.

Being able to move your semantic models (eg, diagrams) into a computational framework (eg, linear algebra) is neat.

Re: Matrices and Graph

#35
post #7

This is especially fascinating when you consider graphs/diagrams are a way to encode math.

Umm... What? Please show us the graph that "encodes" the fundamental theorem of algebra.

https://en.wikipedia.org/wiki/Category_theory

The fundamental theorem of algebra is a fact about the diagram which relates polynomials via division by monomials.

Every polynomial of degree n is n divisions of a monomial away from the empty product.

- - - -

This is probably easier to see the other direction:

Polynomials of degree n are isomorphic to n-products of monomials, and you can build a graph of the assembly where each arrow represents a multiplication by a particular monomial. (Then reverse the arrows, to get my original diagram.)

Re: Matrices and Graph

#36

Fun fact: this is only valid for domains that have a notion of "selfness", i.e. that there is such thing as an "identity matrix" for the quantities. Consider the following square matrix: TSLA APPL GOOG MSFT Alice | 100 5 0 1 Bob | 0 30 100 5 Carol | 2 2 2 2 Dan | 0 0 0 1000 An input vector of stock prices gives an output vector of net worths. However, that is about the only way you can use this matrix. You cannot tra…

When I try to get this point across about techniques like the PCA, I like to show that the measurement units strongly affect the inference. Really, if your conclusions change depending on whether you measure in inches or centimeters, there’s something wrong with the analysis!

Is the effect of measurement units eliminated by applying something like zero mean unit variance normalization prior to dimensionality reduction?

Re: Matrices and Graph

#37
post #22

This approach reminds me of RedisGraph[1] (which is now unfortunately EoL). "RedisGraph is the first queryable Property Graph database to use sparse matrices to represent the adjacency matrix in graphs and linear algebra to query the graph." 1. https://github.com/RedisGraph/RedisGraph

RDF-star and SPARQL-star are basically Property Graph interfaces if you don't validate with e.g. RDFS (schema.org,), SHACL, json-ld-schema (jsonschema+shacl), and/or OWL.

Justify Linked Data; https://5stardata.info/

W3C RDF-star and SPARQL-star > 2.2 RDF-star Graph Examples: https://w3c.github.io/rdf-star/cg-spec/editors_draft.html#rd...

    def to_matrices(g: rdflib.MultiDiGraph) -> Union[Matrix, Tensor]
rdflib.MultiDiGraph: https://networkx.org/documentation/stable/reference/classes/...

Multigraph: https://en.wikipedia.org/wiki/Multigraph :

> In mathematics, and more specifically in graph theory, a multigraph is a graph which is permitted to have multiple edges (also called parallel edges[1]), that is, edges that have the same end nodes. Thus two vertices may be connected by more than one edge ... [which requires multidimensional matrices, netcdf (pydata/xarray,), tensors, or a better implementation of a representation; and edge reification in RDF]

From "Why tensors? A beginner's perspective" https://news.ycombinator.com/item?id=30629931 :

> https://en.wikipedia.org/wiki/Tensor

... Tensor product of graphs: https://en.wikipedia.org/wiki/Tensor_product_of_graphs

Hilbert space: https://en.wikipedia.org/wiki/Hilbert_space :

> The inner product between two state vectors is a complex number known as a probability amplitude.

Re: Matrices and Graph

#38

Fun fact: this is only valid for domains that have a notion of "selfness", i.e. that there is such thing as an "identity matrix" for the quantities. Consider the following square matrix: TSLA APPL GOOG MSFT Alice | 100 5 0 1 Bob | 0 30 100 5 Carol | 2 2 2 2 Dan | 0 0 0 1000 An input vector of stock prices gives an output vector of net worths. However, that is about the only way you can use this matrix. You cannot tra…

When I try to get this point across about techniques like the PCA, I like to show that the measurement units strongly affect the inference. Really, if your conclusions change depending on whether you measure in inches or centimeters, there’s something wrong with the analysis!

I would disagree and here is why:

> When I try to get this point across about techniques like the PCA, I like to show that the measurement units strongly affect the inference.

In such a case the problem is not with PCA but with application. PCA is just a rotation of the original coordinate system that projects the data on new axes which are aligned with the directions of highest variability. It is not the job of PCA to parse out the origin of that variability (is it because of different units, or different effects).

> Really, if your conclusions change depending on whether you measure in inches or centimeters, there’s something wrong with the analysis!

To get a statistical distance one should: subtract the mean if the measurements differ in origin; divide by standard deviation if the measurements differ in scale; rotate (or equivalently compute Mahalanobis distance) if the measurements are dependant (co-vary). The PCA itself is closely related to Mahalanobis distance: Euclidian distance on PCA-transformed data should be equivalent to Mahalanobis distance on the original data. So, saying that something is wrong with PCA because it doesn't take units of measurement into account is close to saying that something is wrong with dividing by standard deviation because it doesn't subtract the mean.

Re: Matrices and Graph

#39

Another interesting mapping is that a vector is (or can be thought of as) a discrete function (f(x) = ....) over an interval, a dot product of two vectors is a discrete integral product, and a matrix is a discrete scalar field. I wonder what the continuous form of a graph is... Some sort of a manifold perhaps?

>continuous form of a graph

A graphon?

Edit: This was already mentioned by meindnoch.

Post reply on HN