ops :  {       angleBetween :  ( ( u :  ad.Num [] , v :  ad.Num [] )  =>  ad.Num ) ;       angleFrom :  ( ( u :  ad.Num [] , v :  ad.Num [] )  =>  ad.Num ) ;       cross2 :  ( ( u :  ad.Num [] , v :  ad.Num [] )  =>  ad.Num ) ;       cross3 :  ( ( u :  ad.Num [] , v :  ad.Num [] )  =>  ad.Num [] ) ;       dist :  ( ( c1 :  ad.Num , c2 :  ad.Num )  =>  ad.Num ) ;       ewmmdiv :  ( ( A1 :  ad.Num [] [] , A2 :  ad.Num [] [] )  =>  ad.Num [] [] ) ;       ewmmmul :  ( ( A1 :  ad.Num [] [] , A2 :  ad.Num [] [] )  =>  ad.Num [] [] ) ;       ewvvdiv :  ( ( v1 :  ad.Num [] , v2 :  ad.Num [] )  =>  ad.Num [] ) ;       ewvvmul :  ( ( v1 :  ad.Num [] , v2 :  ad.Num [] )  =>  ad.Num [] ) ;       mmadd :  ( ( A1 :  ad.Num [] [] , A2 :  ad.Num [] [] )  =>  ad.Num [] [] ) ;       mmmul :  ( ( A :  ad.Num [] [] , B :  ad.Num [] [] )  =>  ad.Num [] [] ) ;       mmsub :  ( ( A1 :  ad.Num [] [] , A2 :  ad.Num [] [] )  =>  ad.Num [] [] ) ;       msdiv :  ( ( A :  ad.Num [] [] , c :  ad.Num )  =>  ad.Num [] [] ) ;       mtrans :  ( ( A :  ad.Num [] [] )  =>  ad.Num [] [] ) ;       mvmul :  ( ( A :  ad.Num [] [] , v :  ad.Num [] )  =>  ad.Num [] ) ;       norm :  ( ( c1 :  ad.Num , c2 :  ad.Num )  =>  ad.Num ) ;       rot90 :  ( ( [x, y] :  ad.Num [] )  =>  ad.Num [] ) ;       smmul :  ( ( c :  ad.Num , A :  ad.Num [] [] )  =>  ad.Num [] [] ) ;       vabs :  ( ( v :  ad.Num [] )  =>  ad.Num [] ) ;       vadd :  ( ( v1 :  ad.Num [] , v2 :  ad.Num [] )  =>  ad.Num [] ) ;       vdist :  ( ( v :  ad.Num [] , w :  ad.Num [] )  =>  ad.Num ) ;       vdistsq :  ( ( v :  ad.Num [] , w :  ad.Num [] )  =>  ad.Num ) ;       vdiv :  ( ( v :  ad.Num [] , c :  ad.Num )  =>  ad.Num [] ) ;       vdot :  ( ( v1 :  ad.Num [] , v2 :  ad.Num [] )  =>  ad.Num ) ;       vmax :  ( ( v1 :  ad.Num [] , v2 :  ad.Num [] )  =>  ad.Num [] ) ;       vmmul :  ( ( v :  ad.Num [] , A :  ad.Num [] [] )  =>  ad.Num [] ) ;       vmove :  ( ( v :  ad.Num [] , c :  ad.Num , u :  ad.Num [] )  =>  ad.Num [] ) ;       vmul :  ( ( c :  ad.Num , v :  ad.Num [] )  =>  ad.Num [] ) ;       vneg :  ( ( v :  ad.Num [] )  =>  ad.Num [] ) ;       vnorm :  ( ( v :  ad.Num [] )  =>  ad.Num ) ;       vnormalize :  ( ( v :  ad.Num [] )  =>  ad.Num [] ) ;       vnormsq :  ( ( v :  ad.Num [] )  =>  ad.Num ) ;       vouter :  ( ( u :  ad.Num [] , v :  ad.Num [] )  =>  ad.Num [] [] ) ;       vproduct :  ( ( v1 :  ad.Num [] , v2 :  ad.Num [] )  =>  ad.Num [] ) ;       vrot :  ( ( [x, y] :  ad.Num [] , a :  ad.Num )  =>  ad.Num [] ) ;       vsub :  ( ( v1 :  ad.Num [] , v2 :  ad.Num [] )  =>  ad.Num [] ) ;       vsum :  ( ( v :  ad.Num [] )  =>  ad.Num ) ;  } 
Type declaration angle :  ( ( u :  ad.Num [] , v :  ad.Num [] )  =>  ad.Num ) ( u , v ) :  ad.Num Returns ad.Num  angle :  ( ( u :  ad.Num [] , v :  ad.Num [] )  =>  ad.Num ) ( u , v ) :  ad.Num Returns ad.Num  cross2 :  ( ( u :  ad.Num [] , v :  ad.Num [] )  =>  ad.Num ) ( u , v ) :  ad.Num Returns ad.Num  cross3 :  ( ( u :  ad.Num [] , v :  ad.Num [] )  =>  ad.Num [] ) ( u , v ) :  ad.Num [] Returns ad.Num []  dist :  ( ( c1 :  ad.Num , c2 :  ad.Num )  =>  ad.Num ) ( c1 , c2 ) :  ad.Num Returns ad.Num  ewmmdiv :  ( ( A1 :  ad.Num [] [] , A2 :  ad.Num [] [] )  =>  ad.Num [] [] ) ( A1 , A2 ) :  ad.Num [] [] Parameters A1 : ad.Num [] [] A2 : ad.Num [] [] Returns ad.Num [] []  ewmmmul :  ( ( A1 :  ad.Num [] [] , A2 :  ad.Num [] [] )  =>  ad.Num [] [] ) ( A1 , A2 ) :  ad.Num [] [] Parameters A1 : ad.Num [] [] A2 : ad.Num [] [] Returns ad.Num [] []  ewvvdiv :  ( ( v1 :  ad.Num [] , v2 :  ad.Num [] )  =>  ad.Num [] ) ( v1 , v2 ) :  ad.Num [] Returns ad.Num []  ewvvmul :  ( ( v1 :  ad.Num [] , v2 :  ad.Num [] )  =>  ad.Num [] ) ( v1 , v2 ) :  ad.Num [] Returns ad.Num []  mmadd :  ( ( A1 :  ad.Num [] [] , A2 :  ad.Num [] [] )  =>  ad.Num [] [] ) ( A1 , A2 ) :  ad.Num [] [] Parameters A1 : ad.Num [] [] A2 : ad.Num [] [] Returns ad.Num [] []  mmmul :  ( ( A :  ad.Num [] [] , B :  ad.Num [] [] )  =>  ad.Num [] [] ) ( A , B ) :  ad.Num [] [] Parameters A : ad.Num [] [] B : ad.Num [] [] Returns ad.Num [] []  mmsub :  ( ( A1 :  ad.Num [] [] , A2 :  ad.Num [] [] )  =>  ad.Num [] [] ) ( A1 , A2 ) :  ad.Num [] [] Parameters A1 : ad.Num [] [] A2 : ad.Num [] [] Returns ad.Num [] []  msdiv :  ( ( A :  ad.Num [] [] , c :  ad.Num )  =>  ad.Num [] [] ) ( A , c ) :  ad.Num [] [] Returns ad.Num [] []  mtrans :  ( ( A :  ad.Num [] [] )  =>  ad.Num [] [] ) ( A ) :  ad.Num [] [] Returns ad.Num [] []  mvmul :  ( ( A :  ad.Num [] [] , v :  ad.Num [] )  =>  ad.Num [] ) ( A , v ) :  ad.Num [] Returns ad.Num []  norm :  ( ( c1 :  ad.Num , c2 :  ad.Num )  =>  ad.Num ) ( c1 , c2 ) :  ad.Num Returns ad.Num  rot90 :  ( ( [x, y] :  ad.Num [] )  =>  ad.Num [] ) ( [x, y] ) :  ad.Num [] Returns ad.Num []  smmul :  ( ( c :  ad.Num , A :  ad.Num [] [] )  =>  ad.Num [] [] ) ( c , A ) :  ad.Num [] [] Returns ad.Num [] []  vabs :  ( ( v :  ad.Num [] )  =>  ad.Num [] ) ( v ) :  ad.Num [] Returns ad.Num []  vadd :  ( ( v1 :  ad.Num [] , v2 :  ad.Num [] )  =>  ad.Num [] ) ( v1 , v2 ) :  ad.Num [] Returns ad.Num []  vdist :  ( ( v :  ad.Num [] , w :  ad.Num [] )  =>  ad.Num ) ( v , w ) :  ad.Num Returns ad.Num  vdistsq :  ( ( v :  ad.Num [] , w :  ad.Num [] )  =>  ad.Num ) ( v , w ) :  ad.Num Returns ad.Num  vdiv :  ( ( v :  ad.Num [] , c :  ad.Num )  =>  ad.Num [] ) ( v , c ) :  ad.Num [] Returns ad.Num []  vdot :  ( ( v1 :  ad.Num [] , v2 :  ad.Num [] )  =>  ad.Num ) ( v1 , v2 ) :  ad.Num Returns ad.Num  vmax :  ( ( v1 :  ad.Num [] , v2 :  ad.Num [] )  =>  ad.Num [] ) ( v1 , v2 ) :  ad.Num [] Returns ad.Num []  vmmul :  ( ( v :  ad.Num [] , A :  ad.Num [] [] )  =>  ad.Num [] ) ( v , A ) :  ad.Num [] Returns ad.Num []  vmove :  ( ( v :  ad.Num [] , c :  ad.Num , u :  ad.Num [] )  =>  ad.Num [] ) ( v , c , u ) :  ad.Num [] Parameters v : ad.Num [] c : ad.Num u : ad.Num [] Returns ad.Num []  vmul :  ( ( c :  ad.Num , v :  ad.Num [] )  =>  ad.Num [] ) ( c , v ) :  ad.Num [] Returns ad.Num []  vneg :  ( ( v :  ad.Num [] )  =>  ad.Num [] ) ( v ) :  ad.Num [] Returns ad.Num []  vnorm :  ( ( v :  ad.Num [] )  =>  ad.Num ) ( v ) :  ad.Num Returns ad.Num  vnormalize :  ( ( v :  ad.Num [] )  =>  ad.Num [] ) ( v ) :  ad.Num [] Returns ad.Num []  vnormsq :  ( ( v :  ad.Num [] )  =>  ad.Num ) ( v ) :  ad.Num Returns ad.Num  vouter :  ( ( u :  ad.Num [] , v :  ad.Num [] )  =>  ad.Num [] [] ) ( u , v ) :  ad.Num [] [] Returns ad.Num [] []  vproduct :  ( ( v1 :  ad.Num [] , v2 :  ad.Num [] )  =>  ad.Num [] ) ( v1 , v2 ) :  ad.Num [] Returns ad.Num []  vrot :  ( ( [x, y] :  ad.Num [] , a :  ad.Num )  =>  ad.Num [] ) ( [x, y] , a ) :  ad.Num [] Parameters [x, y] : ad.Num [] a : ad.Num Returns ad.Num []  vsub :  ( ( v1 :  ad.Num [] , v2 :  ad.Num [] )  =>  ad.Num [] ) ( v1 , v2 ) :  ad.Num [] Returns ad.Num []  vsum :  ( ( v :  ad.Num [] )  =>  ad.Num ) ( v ) :  ad.Num Returns ad.Num  Defined in core/dist/engine/Autodiff.d.ts:24 
Some vector operations that can be used on
Num.