logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

vpIdentity3, vpIdentity4, vpNormalize3, vpMatrixVectorMult4, vpMatrixMult4, vpCrossProduct,

Arguments

m_src1,m_src2,m_dst
              Source and destination matrices.

       v_src1,v_src2,v_dst
              Source and destination vectors.

       b      Array of right-hand-side vectors.

       count  Number of right-hand-side vectors.

       x,y,z,w
              Vector components.

Description

       These routines form a simple linear algebra package used internally by VolPack.  The  routines  are  also
       available as utility routines for use by the application.

       vpIdentity3 assigns the identity matrix to a 3-by-3 matrix.

       vpIdentity4 assigns the identity matrix to a 4-by-4 matrix.

       vpNormalize3  normalizes  a 3-element vector (so the magnitude is 1.0).  The result overwrites the source
       vector.

       vpMatrixVectorMult4 multiplies a 4-by-4 matrix by a 4-element column vector and stores the result in  the
       destination vector (v_dst=m.v_src).

       vpMatrixMult4  multiplies  two  4-by-4  matrices and stores the result in the destination matrix (m_dst=m_src1.m_src2).

       vpCrossProduct computes the cross product  of  two  3-element  vectors  and  stores  the  result  in  the
       destination vector (v_dst=v_src1xv_src2).

       vpSolveSystem4  solves  the  linear system m.x=b for each right-hand-side vector in the b array.  The
       solution vectors overwrite the vectors in the b array.   The  solution  is  computed  using  Gauss-Jordan
       elimination with partial pivoting and implicit scaling.

       vpSetVector3 initializes the components of a 3-element vector (v_dst=[x,y,z]).  It is a macro.

       vpSetVector4 initializes the components of a 4-element vector (v_dst=[x,y,z,w]).  It is a macro.

Errors

vpNormalize3 and vpSolveSystem4 normally return VP_OK.  The following error return value is possible:

       VPERROR_SINGULAR
              The vector is a 0 vector (vpNormalize3 only), or the matrix is singular (vpSolveSystem4 only).

Name

       vpIdentity3,    vpIdentity4,    vpNormalize3,    vpMatrixVectorMult4,    vpMatrixMult4,   vpCrossProduct,
       vpSolveSystem4, vpSetVector3, vpSetVector4 - linear algebra routines

See Also

VolPack(3)

VolPack                                                                                         LinearAlgebra(3)

Synopsis

       #include <volpack.h>

       void
       vpIdentity3(m_dst)
           vpMatrix3 m_dst;

       void
       vpIdentity4(m_dst)
           vpMatrix4 m_dst;

       vpResult
       vpNormalize3(v_src1)
           vpVector3 v_src1;

       void
       vpMatrixVectorMult4(v_dst,m_src1,v_src1)
           vpVector4 v_dst;
           vpMatrix4 m_src1;
           vpVector4 v_src1;

       void
       vpMatrixMult4(m_dst,m_src1,m_src2)
           vpVector4 m_dst,m_src1,m_src2;

       void
       vpCrossProduct(v_dst,v_src1,v_src2)
           vpVector3 v_dst,v_src1,v_src2;

       vpResult
       vpSolveSystem4(m_src1,b,count)
           vpMatrix4 m_src1;
           vpVector4 b[];
           int count;

       void
       vpSetVector3(v_dst,x,y,z)
           vpVector3 v_dst;
           double x,y,z;

       void
       vpSetVector4(v_dst,x,y,z,w)
           vpVector4 v_dst;
           double x,y,z,w;

See Also