annotate +blockmatrix/isDivision.m @ 1037:2d7ba44340d0 feature/burgers1d

Pass scheme specific parameters as cell array. This will enabale constructDiffOps to be more general. In addition, allow for schemes returning function handles as diffOps, which is currently how non-linear schemes such as Burgers1d are implemented.
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Fri, 18 Jan 2019 09:02:02 +0100
parents a5f1b0267dba
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
203
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
1 function b = isDivision(div)
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
2 % Make sure it is a cellarray
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
3 if ~iscell(div)
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
4 b = false;
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
5 return
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
6 end
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
7
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
8 % Make sure it has the right shape
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
9 if numel(div) ~= 2
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
10 b = false;
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
11 return
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
12 end
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
13
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
14 if ~isDivisionVector(div{1}) || ~isDivisionVector(div{2})
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
15 b = false;
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
16 return
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
17 end
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
18
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
19 b = true;
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
20 end
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
21
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
22 function b = isDivisionVector(v)
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
23 if isempty(v)
579
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 203
diff changeset
24 b = true;
203
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
25 return
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
26 end
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
27
579
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 203
diff changeset
28 if any(v < 0)
203
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
29 b = false;
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
30 return
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
31 end
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
32
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
33 b = true;
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
34 end