Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Damping matrix evalA unequal to damping matrix evalU + evalL #2

Closed
Jannertje opened this issue Jul 22, 2019 · 1 comment
Closed

Damping matrix evalA unequal to damping matrix evalU + evalL #2

Jannertje opened this issue Jul 22, 2019 · 1 comment

Comments

@Jannertje
Copy link
Collaborator

Jannertje commented Jul 22, 2019

The setting is as follows: we have the orthonormal discontinuous piecewise linear wavelet basis from figure 2. We want to apply the damping matrix $C_{\mu,\lambda} := \int_0^1 \phi_{\mu} [\partial_t \phi_{\lambda}] d t$, as it is a more interesting operator than the mass matrix (which is the identity by definition of this basis).

One can verify numerically (see Mathematica/evalA.nb in the git) that the singlescale damping matrix at level 0 equals $C^{ss}_0 = \begin{bmatrix} 0 & 2 \sqrt{3} \\ 0 & 0 \end{bmatrix}$.

Moreover, one can verify using Mathematica (see Mathematica/evalA.nb in the git) that for $\ell=1$, the multiscale damping matrix satisfies $C^{ms}_1 = \begin{bmatrix} 0 & 2 \sqrt{3} & -6 & 0 \\ 0 & 0 & 0 & 6 \\ 0 & 0 & 0 & 2 \sqrt{3} \\0 & 0 & 0 & 0 \end{bmatrix}$.

If we compute $C^{ms}_1$ as $U_1 + L_1$ (Applicator::apply_upp + Applicator::apply_low), we retrieve this matrix. However, if we compute it as $C^{ms}_1$ directly (Applicator::apply), we get the incorrect matrix $\begin{bmatrix} 0 & 2 * 2 \sqrt{3} & -6 & 0 \\ 0 & 0 & 0 & 6 \\ 0 & 0 & 0 & 2 \sqrt{3} \\0 & 0 & 0 & 0 \end{bmatrix}$.

For higher levels, $U_\ell + L_\ell$ retrieves the correct matrix but $C^{ms}_\ell$ directly seems to overshoot the nonzero elements by a factor $\ell - |\lambda|$ or something, very peculiar. Run python/applicator_test.py:test_orthonormal_multiscale_damping_equivalent to see.

@Jannertje
Copy link
Collaborator Author

Fixed in 77a900c. Sigh stupid mistake

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant