3 properties (SetAccess =
private)
10 properties (SetAccess = private, Dependent)
18 properties (Access=private)
30 copy_extract(sfn, copy, rmodel);
32 sfn.sohandle = sohandle;
33 fill_fields(sfn, rmodel, detailed_data);
35 error('Wrong constructor arguments');
39 function yesno = needs_subset_copy(this, rmodel)
40 % function yesno = needs_subset_copy(this, rmodel)
41 % @copybrief ::
GreedyUser.IReducedDataNode.needs_subset_copy()
43 % @copydetails ::
GreedyUser.IReducedDataNode.needs_subset_copy()
47 rn = get_by_description(rmodel.N, this.
id);
52 function N = get.N(this)
53 N = size(this.LL{1},1);
56 function LL =
get.LL(
this)
57 len = size(this.LL_int, 2);
60 LL{i} = reshape(this.LL_int, this.siz);
64 function id =
get.id(
this)
65 id = this.sohandle.id;
68 function conds = get_conds(
this)
69 conds = cellfun(@condest, this.LL, 'UniformOutput', false);
72 function [LL_c, bb_c] = lincomb_sequence(this, descr)
73 [L_coeffs, b_coeffs] = this.sohandle.coefficients(descr);
74 LL_c = reshape(this.LL_int * L_coeffs, this.siz);
75 bb_c = this.bb * b_coeffs;
80 methods(Access=private)
82 function fill_fields(this, rmodel, detailed_data)
83 [LL, bbret] = this.sohandle.gram_project_components(rmodel, detailed_data);
84 this.bb = cat(1, bbret{:});
85 this.siz = size(LL{1});
86 LL = cellfun(@(X) X(:), LL,
'UniformOutput',
false);
87 this.LL_int = cat(1, LL{:});
90 function copy_extract(
this, reduced_data, rmodel)
91 this.sohandle = reduced_data.sohandle;
92 rn = get_by_description(rmodel.N, this.
id);
95 error('N too large for current size of reduced data!');
98 this.bb = reduced_data.bb(1:rn, :);
99 if isempty(this.sohandle.ret_vars)
100 nmask = 1:size(this.siz,1);
106 subset = zeros(rn, rn);
107 subset(nmask, 1:rn) = 1;
108 this.LL_int = this.LL_int(subset(:), :);
Interface for leaf nodes of the DataTree in Greedy.User.ReducedData objects.
Interface classes to be implemented by the Greedy.Algorithm user.
This is the interface for a reduced model providing methods to compute low dimensional reduced simula...
Customizable implementation of an abstract greedy algorithm.