In the past, operators were designed so that on the first call to the function computing the the largest singular value, the value would be stored inside the operator, so that if the value was needed again later, it would not need to be computed again. As far as I can tell, that feature has been lost and each call to the method norm will recompute the value. The value is in fact stored in s1 still, but this is never used again. This feature should be reimplemented. This would mean that if the same operator is used in two calls to FISTA, then the norm will only need to be computed the first, making the second one much faster.
In the past, operators were designed so that on the first call to the function computing the the largest singular value, the value would be stored inside the operator, so that if the value was needed again later, it would not need to be computed again. As far as I can tell, that feature has been lost and each call to the method
norm
will recompute the value. The value is in fact stored ins1
still, but this is never used again. This feature should be reimplemented. This would mean that if the same operator is used in two calls to FISTA, then the norm will only need to be computed the first, making the second one much faster.