# BLAS > Standard library base reference basic linear algebra subprograms (BLAS).
## Usage ```javascript var blas = require( '@stdlib/blas/base' ); ``` #### blas Base reference basic linear algebra subprograms (BLAS). ```javascript var o = blas; // returns {...} ``` ### BLAS Level 1
- [`ccopy( N, x, strideX, y, strideY )`][@stdlib/blas/base/ccopy]: copy values from one complex single-precision floating-point vector to another complex single-precision floating-point vector. - [`cswap( N, x, strideX, y, strideY )`][@stdlib/blas/base/cswap]: interchange two complex single-precision floating-point vectors. - [`dasum( N, x, stride )`][@stdlib/blas/base/dasum]: compute the sum of absolute values (_L1_ norm). - [`daxpy( N, alpha, x, strideX, y, strideY )`][@stdlib/blas/base/daxpy]: multiply a vector `x` by a constant `alpha` and add the result to `y`. - [`dcopy( N, x, strideX, y, strideY )`][@stdlib/blas/base/dcopy]: copy values from `x` into `y`. - [`ddot( N, x, strideX, y, strideY )`][@stdlib/blas/base/ddot]: calculate the dot product of two double-precision floating-point vectors. - [`dnrm2( N, x, stride )`][@stdlib/blas/base/dnrm2]: calculate the L2-norm of a double-precision floating-point vector. - [`dscal( N, alpha, x, stride )`][@stdlib/blas/base/dscal]: multiply a double-precision floating-point vector `x` by a constant `alpha`. - [`dsdot( N, x, strideX, y, strideY )`][@stdlib/blas/base/dsdot]: calculate the dot product with extended accumulation and result of two single-precision floating-point vectors. - [`dswap( N, x, strideX, y, strideY )`][@stdlib/blas/base/dswap]: interchange two double-precision floating-point vectors. - [`gasum( N, x, stride )`][@stdlib/blas/base/gasum]: compute the sum of absolute values (_L1_ norm). - [`gaxpy( N, alpha, x, strideX, y, strideY )`][@stdlib/blas/base/gaxpy]: multiply `x` by a constant `alpha` and add the result to `y`. - [`gcopy( N, x, strideX, y, strideY )`][@stdlib/blas/base/gcopy]: copy values from `x` into `y`. - [`gdot( N, x, strideX, y, strideY )`][@stdlib/blas/base/gdot]: calculate the dot product of two vectors. - [`gnrm2( N, x, stride )`][@stdlib/blas/base/gnrm2]: calculate the L2-norm of a vector. - [`gscal( N, alpha, x, stride )`][@stdlib/blas/base/gscal]: multiply a vector `x` by a constant `alpha`. - [`gswap( N, x, strideX, y, strideY )`][@stdlib/blas/base/gswap]: interchange two vectors. - [`sasum( N, x, stride )`][@stdlib/blas/base/sasum]: compute the sum of absolute values (_L1_ norm). - [`saxpy( N, alpha, x, strideX, y, strideY )`][@stdlib/blas/base/saxpy]: multiply a vector `x` by a constant `alpha` and add the result to `y`. - [`scopy( N, x, strideX, y, strideY )`][@stdlib/blas/base/scopy]: copy values from `x` into `y`. - [`sdot( N, x, strideX, y, strideY )`][@stdlib/blas/base/sdot]: calculate the dot product of two single-precision floating-point vectors. - [`sdsdot( N, scalar, x, strideX, y, strideY )`][@stdlib/blas/base/sdsdot]: calculate the dot product of two single-precision floating-point vectors with extended accumulation. - [`snrm2( N, x, stride )`][@stdlib/blas/base/snrm2]: calculate the L2-norm of a single-precision floating-point vector. - [`sscal( N, alpha, x, stride )`][@stdlib/blas/base/sscal]: multiply a single-precision floating-point vector `x` by a constant `alpha`. - [`sswap( N, x, strideX, y, strideY )`][@stdlib/blas/base/sswap]: interchange two single-precision floating-point vectors.
### Auxiliary BLAS
## Examples ```javascript var objectKeys = require( '@stdlib/utils/keys' ); var blas = require( '@stdlib/blas/base' ); console.log( objectKeys( blas ) ); ```