Confusing terminology in singular-poisson demo
Issue #186
resolved
(repost from https://bugs.launchpad.net/dolfin/+bug/1267578 - didn't realize that the issue tracker has moved)
[Let ] AU=b, where U gives the coefficient for the basis functions
expressing u.
Since we have pure Neumann boundary conditions, the matrix A
is singular. There exists a vector e such that Ae=0.
span {e} is the null space of A, and by removing the components
of b that lie in the null space we make the system solvable.
The last part does not make sense to me. Let A be a linear operator from V to W. Then the null space is a subspace of V, but b is defined in W. Therefore, it doesn't make sense to talk about components of b that lie in the null space.
I think a better formulation might be
[Let] AU=b, where U gives the coefficient for the basis functions
expressing u.
Since we have pure Neumann boundary conditions, the matrix A
is singular. There exists a vector e such that Ae=0. We make the
system solvable by removing the components of b that do not lie
in the column space of A, which are also the components that lie
in the null space of transpose(A).
Comments (5)
-
-
-
assigned issue to
-
assigned issue to
-
- changed status to resolved
Fix issue
#186: Confusing terminology in singular-poisson demo→ <<cset 25c9fa4c96f0>>
-
Changed to this:
Since we have pure Neumann boundary conditions, the matrix :math:`A` is singular. There exists a non-trival vector :math:`e` such that .. math:: Ae=0. span :math:`\{ e \}` is the null space of A. Consequently, the matrix :math:`A` is rank deficient and the right-hand side vector :math:`b` may fail to be in the column space of :math:`A`. We therefore need to remove the components of :math:`b` that do not lie in the column space to make the system solvable.
-
- removed milestone
Removing milestone: 1.4 (automated comment)
- Log in to comment