(22) |

The filter impulse response is seen in any column in the middle of the matrix, namely (1,-1). In the transposed matrix the filter impulse response is time reversed to (-1,1). So, mathematically, we can say that the adjoint of the time derivative operation is the negative time derivative. This corresponds also to the fact that the complex conjugate of is .We can also speak of the adjoint of the boundary conditions: we might say the adjoint of ``no boundary condition'' is ``specified value'' boundary conditions.

Banded matrices like in
(21) and (22)
arise commonly,
and subroutines like `convin()` are awkward and over-general
because they sum with a `do` loop
where a mere statement of the two terms is enough.
This is illustrated in subroutine `ruffen1()`.
Notice the adjoint calculation resembles that in `spot1()` .

subroutine ruffen1( adj, n, xx, yy ) integer i, adj, n real xx(n), yy( n-1) call adjnull( adj, 0, xx,n, yy, n-1) do i= 1, n-1 { if( adj == 0 ) yy(i) = yy(i) + xx(i+1) - xx(i) else { xx(i+1) = xx(i+1) + yy(i) xx(i ) = xx(i ) - yy(i) } } return; end

10/21/1998