Skip to content

Orthogonal connection matrix #20

@dlfivefifty

Description

@dlfivefifty

There are issues with the current connection coefficient matrix introducing bad conditioning:

V = SymTriOperator([zeros(5); -ones(6); zeros(10); -ones(7)],zeros(4))
J = -Δ + V
Λ, U = eig(J)
norm(Matrix(U[1:100,1:100])) # 2.3265722544996794e28

However, from the spectral measure we know we can construct an orthogonal connection coefficients Q:

Δ = freejacobioperator()
K = SymTriOperator(0.01ones(3),zeros(4))
J = Δ + K
μ = spectralmeasure(J)


Λ, U = eig(J)

M = Multiplication(1./sqrt.q), rangespace(U))
Q = M*U
norm((Q'*Q - I)[1:10,1:10])  # ≈ 0

# show it's still a conversion
C = connectioncoeffsoperator(J)
X = Multiplication(Fun(), Ultraspherical(1)) # Δ with right spaces
(X*Q - Q*J)[1:10,1:10] |> norm   # ≈ 0

By definition, Q is well conditioned. Can we recover Q in a reasonable form without calculating the badly conditioned U?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions