function etree_sample % ETREE_SAMPLE construct a sample etree and symbolic factorization % % Example % etree_sample % See also: testall % CXSparse, Copyright (c) 2006-2022, Timothy A. Davis. All Rights Reserved. % SPDX-License-Identifier: LGPL-2.1+ clf % desired etree: % 1 2 3 4 5 6 7 8 9 10 11 goal = [6 3 8 6 8 7 9 10 10 11 0] ; o = 0 ; X = 1 ; x = 0 ; A = [ 1 o o o o o o o o o o o 2 o o o o o o o o o o X 3 o o o o o o o o o o o 4 o o o o o o o o o o o 5 o o o o o o X o o X o 6 o o o o o X o o x o x 7 o o o o o X x o X o o 8 o o o x o o x o X x o 9 o o x x X X x X x X x 10 o x x X x X x X X x X 11 ] ; A = A + tril(A,-1)' ; disp ('A = ') ; disp (A) [count,h,parent,post,R] = symbfact (A) ; L = R' ; subplot (2,3,1) ; spy (A) title ('A') ; subplot (2,3,2) ; etreeplot (A) title ('etree') ; % [parent, post] = etree (A) ; subplot (2,3,3) ; spy (L) title ('L, not postordered') ; n = size (A,1) ; for k = 1:n fprintf ('parent (%d) = %d goal: %d ok: %d\n', ... k, parent (k), goal (k), goal (k) == parent(k)) ; end [count,h,parent2,post2,R] = symbfact (A (post,post)) ; L = R' ; subplot (2,3,5) ; spy (A (post,post)) title ('A postordered') ; subplot (2,3,6) ; spy (L) title ('L postordered') ;