@@ -1111,6 +1111,23 @@ end
1111
1111
/ (u:: AdjointAbsVec , D:: Diagonal ) = (D' \ u' )'
1112
1112
/ (u:: TransposeAbsVec , D:: Diagonal ) = transpose (transpose (D) \ transpose (u))
1113
1113
1114
+ # norm
1115
+ function generic_normMinusInf (D:: Diagonal )
1116
+ norm_diag = norm (D. diag, - Inf )
1117
+ min (norm_diag, zero (norm_diag))
1118
+ end
1119
+ generic_normInf (D:: Diagonal ) = norm (D. diag, Inf )
1120
+ generic_norm1 (D:: Diagonal ) = norm (D. diag, 1 )
1121
+ generic_norm2 (D:: Diagonal ) = norm (D. diag)
1122
+ function generic_normp (D:: Diagonal , p)
1123
+ v = norm (D. diag, p)
1124
+ if size (D,1 ) > 1 && p < 0
1125
+ v = norm (zero (v), p)
1126
+ end
1127
+ return v
1128
+ end
1129
+ norm_x_minus_y (D1:: Diagonal , D2:: Diagonal ) = norm_x_minus_y (D1. diag, D2. diag)
1130
+
1114
1131
_opnorm1 (A:: Diagonal ) = maximum (norm (x) for x in A. diag)
1115
1132
_opnormInf (A:: Diagonal ) = maximum (norm (x) for x in A. diag)
1116
1133
_opnorm12Inf (A:: Diagonal , p) = maximum (opnorm (x, p) for x in A. diag)
@@ -1246,20 +1263,3 @@ function fillband!(D::Diagonal, x, l, u)
1246
1263
end
1247
1264
return D
1248
1265
end
1249
-
1250
- # norm
1251
- function generic_normMinusInf (D:: Diagonal )
1252
- norm_diag = norm (D. diag, - Inf )
1253
- min (norm_diag, zero (norm_diag))
1254
- end
1255
- generic_normInf (D:: Diagonal ) = norm (D. diag, Inf )
1256
- generic_norm1 (D:: Diagonal ) = norm (D. diag, 1 )
1257
- generic_norm2 (D:: Diagonal ) = norm (D. diag)
1258
- function generic_normp (D:: Diagonal , p)
1259
- v = norm (D. diag, p)
1260
- if size (D,1 ) > 1 && p < 0
1261
- v = norm (zero (v), p)
1262
- end
1263
- return v
1264
- end
1265
- norm_x_minus_y (D1:: Diagonal , D2:: Diagonal ) = norm_x_minus_y (D1. diag, D2. diag)
0 commit comments