@@ -10,42 +10,43 @@ function stieltjessquare(z, n)
1010 stieltjessquare! (zeros (T,n,n), z)
1111end
1212
13- function stieltjessquare_populatefirstcolumn! (A, z)
13+ function stieltjessquare_populatefirstrow! (A, z)
14+ n = size (A,2 )
1415 M_p = imlogkernel_vec (n, z+ 1 )
1516 M_m = imlogkernel_vec (n, z- 1 )
16- A[:, 1 ] .= M_p .- M_m
17+ A[1 ,: ] .= M_p .- M_m
1718end
1819
19- function stieltjessquare_populatefirstrow ! (A, z)
20- M_p = imlogkernel_vec (n, 1 - im * z )
21- M_m = imlogkernel_vec (n, - 1 - im* z)
22- m = size (A, 1 )
23- A[1 ,: ] .= (- 1 ) .^ (1 : m) .* im .* (M_p .- M_m)
20+ function stieltjessquare_populatefirstcolumn ! (A, z)
21+ m = size (A, 2 )
22+ M_p = imlogkernel_vec (m, 1 - im* z)
23+ M_m = imlogkernel_vec (m, - 1 - im * z )
24+ A[:, 1 ] .= (- 1 ) .^ (1 : m) .* im .* (M_p .- M_m)
2425end
2526
2627
2728function stieltjessquare! (A:: AbstractMatrix{T} , z) where T
2829 m,n = size (A)
2930 @assert m == n
3031
31- stieltjessquare_populatefirstcolumn! (A, z, F_1, F_2 )
32- stieltjessquare_populatefirstrow! (A, z, F_1, F_2 )
32+ stieltjessquare_populatefirstcolumn! (A, z)
33+ stieltjessquare_populatefirstrow! (A, z)
3334
3435 # 2nd row/column
3536 for k = 1 : m- 2
3637 A[k+ 1 ,2 ] = im* (k* A[k,1 ]/ (2 k+ 1 ) + (k+ 1 )* A[k+ 2 ,1 ]/ (2 k+ 1 ) - z* A[k+ 1 ,1 ])
3738 end
3839
3940 for j = 2 : n- 2
40- A[2 ,j+ 1 ] = z* A[1 ,j+ 1 ] - im* (j* A[1 ,j]/ (2 j+ 1 ) + (j+ 1 )* A[1 ,k + 2 ]/ (2 j+ 1 ))
41+ A[2 ,j+ 1 ] = z* A[1 ,j+ 1 ] - im* (j* A[1 ,j]/ (2 j+ 1 ) + (j+ 1 )* A[1 ,j + 2 ]/ (2 j+ 1 ))
4142 end
4243 # remaining
4344 for ℓ = 1 : ((n- 1 )÷ 2 - 1 )
4445 for k = ℓ+ 1 : n- (ℓ+ 2 )
45- A[k+ 1 ,ℓ+ 2 ] = (im * (2 ℓ+ 1 )* (k * A[k,ℓ+ 1 ]/ ( 2 k + 1 ) + (k + 1 )* A[k+ 2 ,ℓ+ 1 ]/ ( 2 k + 1 ) - z * A[k+ 1 ,ℓ+ 1 ]) - j * A[k+ 1 ,ℓ+ 1 ])/ (ℓ+ 1 )
46+ A[k+ 1 ,ℓ+ 2 ] = ( - im * (2 ℓ+ 1 )* z * A[k+ 1 ,ℓ+ 1 ] + im * ( 2 ℓ + 1 )* (k * A[k,ℓ+ 1 ] + (k + 1 )* A[k+ 2 ,ℓ+ 1 ])/ ( 2 k + 1 ) - ℓ * A[k+ 1 ,ℓ])/ (ℓ+ 1 )
4647 end
4748 for j = ℓ+ 2 : n- (ℓ+ 2 )
48- A[ℓ+ 2 ,j+ 1 ] = (z* (2 k + 1 )* A[ℓ+ 1 ,j+ 1 ] - im* (2 k + 1 )* (j* A[ℓ+ 1 ,j]/ ( 2 j + 1 ) + (j+ 1 )* A[ℓ+ 1 ,k + 2 ]/ (2 j+ 1 )) - k * A[k,ℓ + 1 ])/ (k + 1 )
49+ A[ℓ+ 2 ,j+ 1 ] = (z* (2 ℓ + 1 )* A[ℓ+ 1 ,j+ 1 ] - im* (2 ℓ + 1 )* (j* A[ℓ+ 1 ,j] + (j+ 1 )* A[ℓ+ 1 ,j + 2 ]) / (2 j+ 1 ) - ℓ * A[ℓ,j + 1 ])/ (ℓ + 1 )
4950 end
5051 end
5152 A
0 commit comments