You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I updated LinearOperators in JuliaSmoothOptimizers/LinearOperators.jl@6356eb3 for Julia 0.4 compatibility. The main change involved removing the use of Nothing to indicate missing operations. In order to play well with both 0.3 and 0.4, all that needs to be changed is:
require and import Compat
change constructs like
Alinop =LinearOperator(size(A,1), size(A,2), T, false, false,
v ->At_mul_B!(1.0,A,v,0.0,x),
nothing,
v ->At_mul_B!(1.0,A,v,0.0,x))
to
Alinop =LinearOperator(size(A,1), size(A,2), T, false, false,
v ->At_mul_B!(1.0,A,v,0.0,x),
Nullable{Function}(),
v ->At_mul_B!(1.0,A,v,0.0,x))
Note that there is a simplified constructor for real symmetric operators:
Alinop =LinearOperator(size(A,1), T, v ->At_mul_B!(1.0,A,v,0.0,x))
One of the symmetric and hermitian flags should probably be set to true in your CG. Something like
Alinop =LinearOperator(size(A,1), size(A,2), T, T <:Real, (T <:Complex) &&!(T <:Real),
v ->At_mul_B!(1.0,A,v,0.0,x),
Nullable{Function}(),
v ->At_mul_B!(1.0,A,v,0.0,x))
The text was updated successfully, but these errors were encountered:
I updated
LinearOperators
in JuliaSmoothOptimizers/LinearOperators.jl@6356eb3 for Julia 0.4 compatibility. The main change involved removing the use ofNothing
to indicate missing operations. In order to play well with both 0.3 and 0.4, all that needs to be changed is:Compat
to
(e.g., in https://github.com/lruthotto/KrylovMethods.jl/blob/master/src/cg.jl#L7).
Note that there is a simplified constructor for real symmetric operators:
One of the
symmetric
andhermitian
flags should probably be set totrue
in your CG. Something likeThe text was updated successfully, but these errors were encountered: