SciML / PDERoadmap

A repository for the discussion of PDE tooling for scientific machine learning (SciML) and physics-informed machine learning
https://tutorials.sciml.ai/
18 stars 6 forks source link

Add notes on Verification of Q and Null-spaces to Document #21

Open jlperla opened 6 years ago

jlperla commented 6 years ago

From discussion with @ChrisRackauckas

We have Q which we are pretty sure work, but we needed to have a step for verifying them more generally. For adding to the document:

We would need to work things out in the affine case, but it might be something like ensuring that the nullspace of B*Q - b*I has full rank.

ChrisRackauckas commented 6 years ago

Recall that the key equation is B Q u = b for the affine boundary conditions, and B Q u = 0 if linear.

No, it's always B Q u = b. Pure Neumann can have non-zero BCs and still be linear, which falls into the first case.

jlperla commented 6 years ago

Pure Neumann can have non-zero BCs and still be linear, which falls into the first case.

And that gives a linear Q?

Also, I am not sure I understand your "BQ - bI" test. That is with the linear part of the Q operator?

I wouldn't mind expand the Q u = Q_L u + Q_b or whatever out out to make sure we have a very specific matrix to find the nullspace of as the test.

ChrisRackauckas commented 6 years ago

Well It's that BQu=b, so I guess it was incorrect. It should be instead that B*Q*u - b*I = 0 for any u. So I was wrong when writing down BQ-bI since it doesn't have the u.This must be related to the nullspace somehow though, since it's like "the nullspace to a constant"

jlperla commented 6 years ago

Expanding out the affine operator, don't we get B (Q_L u + Q_b) = b or B Q_L u = b - B Q_b.

The only way this could be true for all u is if both

  1. B Q_b = b
  2. The nullspace of B Q_L is of full rank

Is that right?

ChrisRackauckas commented 6 years ago

The space where B Q_L u equals b - B Q_b is full rank. I'm not entirely sure if that means the nullspace has full rank.

jlperla commented 6 years ago

I think we need both of them to hold? if B Q_L is linear, then there is no way to have it deliver a constant for any u. Similarly, if we plug in u = 0, then the only way that the equation could hold is if b = B Q_b

jlperla commented 6 years ago

See https://math.stackexchange.com/questions/2775403/categorizing-and-constructing-a-matrix-which-has-a-full-rank-kernel

The correct statement is on the kernel of the $B Q$ matrix.

ChrisRackauckas commented 6 years ago

Yup so in the zero case, each column of Q is in the kernel. And indeed, B is not unique, but it's where the choice of the boundary discreteization comes in. You make a choice for the discretization of the boundary condition (i.e. forward/backward derivative approximation), and then this determines the Q as the full rank matrix where the columns span the nullspace of B and RQu = u. That second condition determines that Q is I on the interior points. Then the full rank + nullspace gives N linear conditions for the N boundary points, making Q unique.

jlperla commented 6 years ago

Perfect. I think that is close enough for now. We can fill in the blanks and interpretation on projections/etc. when we write this thing up more completely. At this point we can at least fully verify whether a $Q$ is correct.