1function [Q,U,R,T,C,X,lG,runtime,iter,method] = solver_mvald_analyzer(sn, options)
2% [Q,U,R,T,C,X,RUNTIME,ITER] = SOLVER_MVALD_ANALYZER(SN, OPTIONS)
4% Copyright (c) 2012-2026, Imperial College London
8method = options.method;
10line_debug(
'MVA load-dependent analyzer starting: method=%s, nclasses=%d, njobs=%s', method, sn.nclasses, mat2str(sn.njobs));
14 if ~isempty(sn.cdscaling)
15 line_error(mfilename,'Exact class-dependent solver not available in MVA.');
17 line_debug('Using exact load-dependent MVA, calling solver_mvald');
18 [Q,U,R,T,C,X,lG,iter] = solver_mvald(sn, options);
19 case {
'default',
'amva',
'qd',
'lin',
'qdlin'} %,
'aql',
'qdaql'
20 if strcmpi(options.method,
'default')
21 line_debug('Default method: using approximate MVA\n');
23 line_debug('Using approximate MVA method: %s, calling solver_amva', options.method);
24 [Q,U,R,T,C,X,lG,iter,method] = solver_amva(sn, options);
26 line_error(mfilename,sprintf('The %s method
is not supported by the load-dependent MVA solver.',options.method));
32 % line_printf('\nMVA load-dependent analysis completed. Runtime: %f seconds.\n',runtime);