Home > code > util > parameter_transformation > transformations > vector_to_skew_symmetric.m

vector_to_skew_symmetric

PURPOSE ^

VECTOR_TO_SKEW_SYMMETRIC Transforms vector v into skew symmetric matrix M.

SYNOPSIS ^

function M = vector_to_skew_symmetric(v, d)

DESCRIPTION ^

VECTOR_TO_SKEW_SYMMETRIC Transforms vector v into skew symmetric matrix M.

  M = vector_to_symmetric(v, d) Transforms the vector v into the skew symmetric
    d x d matrix M by interpreting v as the stacked columns of the lower triangular.
    It is expected that 0.5*d*(d+1) == length(v), otherwise an error will occur.

 created by Benedikt Rudolph
 DATE: 20-Aug-2012

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function M = vector_to_skew_symmetric(v, d)
0002 %VECTOR_TO_SKEW_SYMMETRIC Transforms vector v into skew symmetric matrix M.
0003 %
0004 %  M = vector_to_symmetric(v, d) Transforms the vector v into the skew symmetric
0005 %    d x d matrix M by interpreting v as the stacked columns of the lower triangular.
0006 %    It is expected that 0.5*d*(d+1) == length(v), otherwise an error will occur.
0007 %
0008 % created by Benedikt Rudolph
0009 % DATE: 20-Aug-2012
0010   
0011   M = zeros(d); % init M
0012   M(logical(tril(ones(d),-1))) = v; % set lower triangular to v
0013   M = M - tril(M,-1)'; % subtract upper triangular symmetrically
0014   M(logical(eye(d))) = 0; % set diagonal elements to zero
0015 end

Generated on Mon 29-Apr-2013 19:29:13 by m2html © 2005