100%Hélas non :/ Crank Nicolson approach always produces non monotone schemes. To experience them: take the Crank Nicolson scheme for the heat equation, with a nasty initial condition, as heavyside (u_0(x) = 0, x<0, +1, x >0}. You should see oscillations whatever the time step is. But it is true that oscillations are damped out with smaller time step.The Crank-Nicolson scheme becomes monotone for small enough time-steps (in relation to the space-steps ^2). Either the limit corresponds to the explicit scheme stability limit or to twice the latter, I don't remember exactly.
No, complex eigenvalues! See Strang and Fix 1974, Lawson and Morris 1978 for a full answer.Am I missing something or in Crank Nicolson oscillations come when H (or A in the Daniel post) got real but NEGATIVE eigenvalues (for the high frequency eigenvectors)?
When I look in the Lawson and Morris article you provide, just below eq 1.7 there is a discussion where the oscillation is linked to the negative (close to -1) eigenvalues when timestep is too large. The problem studied is heat equation, without first order derivatives the coefficient below and above the diagonal are the same, so the eigenvalues of the tridiagonal toeplitz matrix H are real.No, complex eigenvalues! See Strang and Fix 1974, Lawson and Morris 1978 for a full answer.Am I missing something or in Crank Nicolson oscillations come when H (or A in the Daniel post) got real but NEGATIVE eigenvalues (for the high frequency eigenvectors)?
There was a time (until I came along) that no one talked about CN oscillations aka denial.
When I look in the Lawson and Morris article you provide, just below eq 1.7 there is a discussion where the oscillation is linked to the negative (close to -1) eigenvalues when timestep is too large. The problem studied is heat equation, without first order derivatives the coefficient below and above the diagonal are the same, so the eigenvalues of the tridiagonal toeplitz matrix H are real.No, complex eigenvalues! See Strang and Fix 1974, Lawson and Morris 1978 for a full answer.Am I missing something or in Crank Nicolson oscillations come when H (or A in the Daniel post) got real but NEGATIVE eigenvalues (for the high frequency eigenvectors)?
There was a time (until I came along) that no one talked about CN oscillations aka denial.
Adding convection (first order derivative) can bring convection dominance. When coefficient below and above the diagonal are of opposite sign you will have complex eigenvalues but not with heat equation as far as I understand the problem.
Lawson and Morris conducted mainly a Fourier analysis in eq 1.7 and below. You are right, the matrix A has positive real eigenvalues. However the propagator resulting from the CN discretization is [$](I_d + \tau A)^{-1}(I_d - \tau A)[$]. This is the matrix we are talking about having complex eigenvalues.
When I look in the Lawson and Morris article you provide, just below eq 1.7 there is a discussion where the oscillation is linked to the negative (close to -1) eigenvalues when timestep is too large. The problem studied is heat equation, without first order derivatives the coefficient below and above the diagonal are the same, so the eigenvalues of the tridiagonal toeplitz matrix H are real.
Adding convection (first order derivative) can bring convection dominance. When coefficient below and above the diagonal are of opposite sign you will have complex eigenvalues but not with heat equation as far as I understand the problem.
I do not agree, if [$] \lambda_i[$] are thre eigenvalues of [$]A[$] then [$]\frac{1 - \lambda_i}{1 + \lambda_i}[$] are the eigenvalues of [$](I_d + \tau A)^{-1}(I_d - \tau A)[$]. You will have complex eigenvalues for the second one only when [$] A [$] got complex eigenvalues and (with constant coefficients and constant space step) it will only happen with convection dominance. The Exponential fitting is a solution to avoid that.Lawson and Morris conducted mainly a Fourier analysis in eq 1.7 and below. You are right, the matrix A has positive real eigenvalues. However the propagator resulting from the CN discretization is [$](I_d + \tau A)^{-1}(I_d - \tau A)[$]. This is the matrix we are talking about having complex eigenvalues.
When I look in the Lawson and Morris article you provide, just below eq 1.7 there is a discussion where the oscillation is linked to the negative (close to -1) eigenvalues when timestep is too large. The problem studied is heat equation, without first order derivatives the coefficient below and above the diagonal are the same, so the eigenvalues of the tridiagonal toeplitz matrix H are real.
Adding convection (first order derivative) can bring convection dominance. When coefficient below and above the diagonal are of opposite sign you will have complex eigenvalues but not with heat equation as far as I understand the problem.
Let us suppose that you missed a [$]\tau[$] here. So there exists eigenvectors [$] v^i [$] such that [$]v^i(\tau) = (I_d + \tau A)^{-1}(I_d - \tau A) v^i = \frac{1 - \tau \lambda_i}{1 + \tau \lambda_i} v^i[$], with [$]\lambda_i > 0[$]?I do not agree, if [$] \lambda_i[$] are thre eigenvalues of [$]A[$] then [$]\frac{1 - \lambda_i}{1 + \lambda_i}[$] are the eigenvalues of [$](I_d + \tau A)^{-1}(I_d - \tau A)[$].
Yes in the previous post I miss the [$] \tau [$], but for the remaining I do not agree : once you got [$]A v = \lambda v[$] then [$]v[$] is an eigenvector of [$](I_d + \tau A)^{-1}(I_d - \tau A) [$] with eigenvalue [$]\frac{1 - \tau \lambda}{1 + \tau \lambda} [$] (not considering the pathological case [$]1 + \tau \lambda = 0[$]). It will also be true for a function [$]f(A)[$] when it is a rational function.Let us suppose that you missed a [$]\tau[$] here. So there exists eigenvectors [$] v^i [$] such that [$]v^i(\tau) = (I_d + \tau A)^{-1}(I_d - \tau A) v^i = \frac{1 - \tau \lambda_i}{1 + \tau \lambda_i} v^i[$], with [$]\lambda_i > 0[$]?I do not agree, if [$] \lambda_i[$] are thre eigenvalues of [$]A[$] then [$]\frac{1 - \lambda_i}{1 + \lambda_i}[$] are the eigenvalues of [$](I_d + \tau A)^{-1}(I_d - \tau A)[$].
Thus [$]\sum_n v^i_n(\tau) = \frac{1 - \tau \lambda_i}{1 + \tau \lambda_i} \sum_n v_n^i(\tau) < \sum_n v^i_n[$] ?
However the CN scheme can be written as [$]\frac{u^{n+1}-u^{n}}{\tau} = A \frac{u^{n+1}+u^{n}}{2}[$], satisfying [$]\sum_n u_i^{n+1} = \sum_n u_i^{n}[$]. It seems to lead to a contradiction ?
Maybe there is a confusion here : [$](I_d + \tau A)^{-1}(I_d - \tau A) \neq f(A)[$], where [$]f(x) = \frac{1-\tau x}{1 + \tau x}[$]
Another possibility to explain the misunderstanding: we might not consider the same equations. For finance applications, it is important to preserve expectations, i.e. [$]\sum_n u_i^{n+1} = \sum_n u_i^{n}[$]. What you are saying might be correct if we consider heat equation with null boundary Dirichlet conditions at boundaries, for which the solution damp to zero.
Ok, I think that you are right now and that I am wrong. Complex eigenvalues comes from advection discretization, leading to non-symetric A. It does not seem to appear with symmetric semi-definite positive matrix A.Yes in the previous post I miss the [$] \tau [$], but for the remaining I do not agree : once you got [$]A v = \lambda v[$] then [$]v[$] is an eigenvector of [$](I_d + \tau A)^{-1}(I_d - \tau A) [$] with eigenvalue [$]\frac{1 - \tau \lambda}{1 + \tau \lambda} [$] (not considering the pathological case [$]1 + \tau \lambda = 0[$]). It will also be true for a function [$]f(A)[$] when it is a rational function.Let us suppose that you missed a [$]\tau[$] here. So there exists eigenvectors [$] v^i [$] such that [$]v^i(\tau) = (I_d + \tau A)^{-1}(I_d - \tau A) v^i = \frac{1 - \tau \lambda_i}{1 + \tau \lambda_i} v^i[$], with [$]\lambda_i > 0[$]?I do not agree, if [$] \lambda_i[$] are thre eigenvalues of [$]A[$] then [$]\frac{1 - \lambda_i}{1 + \lambda_i}[$] are the eigenvalues of [$](I_d + \tau A)^{-1}(I_d - \tau A)[$].
Thus [$]\sum_n v^i_n(\tau) = \frac{1 - \tau \lambda_i}{1 + \tau \lambda_i} \sum_n v_n^i(\tau) < \sum_n v^i_n[$] ?
However the CN scheme can be written as [$]\frac{u^{n+1}-u^{n}}{\tau} = A \frac{u^{n+1}+u^{n}}{2}[$], satisfying [$]\sum_n u_i^{n+1} = \sum_n u_i^{n}[$]. It seems to lead to a contradiction ?
Maybe there is a confusion here : [$](I_d + \tau A)^{-1}(I_d - \tau A) \neq f(A)[$], where [$]f(x) = \frac{1-\tau x}{1 + \tau x}[$]
Another possibility to explain the misunderstanding: we might not consider the same equations. For finance applications, it is important to preserve expectations, i.e. [$]\sum_n u_i^{n+1} = \sum_n u_i^{n}[$]. What you are saying might be correct if we consider heat equation with null boundary Dirichlet conditions at boundaries, for which the solution damp to zero.