% get e (= vec E) from [db_r,dr] function for checking Jacobian 9x5 of d(vec E)/d([b_r;r]) potentially used in sugr_get_Cee_JebR_from_b_R_CbRbR.m, l. 46 Usage: e = e_from_bR(dbR,bR) db_r = reduced coordinates of b (differential) dr = differential correction of rotation matrix dbR = 5x1 vector od differentials[db_r;dr] bR = 3x4 matrix [b,R], approximate values e = 9x1 vector of vec(S(b+db)*(Rot(dr)*R) Wolfgang Förstner wfoerstn@uni-bonn.de
0001 %% get e (= vec E) from [db_r,dr] 0002 % 0003 % function for checking Jacobian 9x5 of d(vec E)/d([b_r;r]) 0004 % potentially used in sugr_get_Cee_JebR_from_b_R_CbRbR.m, l. 46 0005 % 0006 % Usage: 0007 % e = e_from_bR(dbR,bR) 0008 % db_r = reduced coordinates of b (differential) 0009 % dr = differential correction of rotation matrix 0010 % 0011 % dbR = 5x1 vector od differentials[db_r;dr] 0012 % bR = 3x4 matrix [b,R], approximate values 0013 % 0014 % e = 9x1 vector of vec(S(b+db)*(Rot(dr)*R) 0015 % 0016 % Wolfgang Förstner 0017 % wfoerstn@uni-bonn.de 0018 0019 function e = e_from_bR(dbR,bR) 0020 0021 % E = S(b)*R' 0022 % take b,R as approximate values 0023 b = bR(:,1); 0024 R = bR(:,2:4); 0025 % provide Jacobian Jr 0026 Jrb = null(b'); 0027 % determine E 0028 E = calc_S(b+Jrb*dbR(1:2))*(calc_Rot_r(dbR(3:5)/2)*R)'; 0029 % finally vectorize 0030 e = E(:); 0031 0032 0033 0034