README.md (9427B)
1 <!-- 2 3 @license Apache-2.0 4 5 Copyright (c) 2018 The Stdlib Authors. 6 7 Licensed under the Apache License, Version 2.0 (the "License"); 8 you may not use this file except in compliance with the License. 9 You may obtain a copy of the License at 10 11 http://www.apache.org/licenses/LICENSE-2.0 12 13 Unless required by applicable law or agreed to in writing, software 14 distributed under the License is distributed on an "AS IS" BASIS, 15 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 See the License for the specific language governing permissions and 17 limitations under the License. 18 19 --> 20 21 # BLAS 22 23 > Standard library base reference basic linear algebra subprograms (BLAS). 24 25 <section class="usage"> 26 27 ## Usage 28 29 ```javascript 30 var blas = require( '@stdlib/blas/base' ); 31 ``` 32 33 #### blas 34 35 Base reference basic linear algebra subprograms (BLAS). 36 37 ```javascript 38 var o = blas; 39 // returns {...} 40 ``` 41 42 ### BLAS Level 1 43 44 <!-- <toc pattern="+(*asum|*axpy|*cabs|*copy|*dot*|*nrm2|*rot*|*scal|*swap)"> --> 45 46 <div class="namespace-toc"> 47 48 - <span class="signature">[`ccopy( N, x, strideX, y, strideY )`][@stdlib/blas/base/ccopy]</span><span class="delimiter">: </span><span class="description">copy values from one complex single-precision floating-point vector to another complex single-precision floating-point vector.</span> 49 - <span class="signature">[`cswap( N, x, strideX, y, strideY )`][@stdlib/blas/base/cswap]</span><span class="delimiter">: </span><span class="description">interchange two complex single-precision floating-point vectors.</span> 50 - <span class="signature">[`dasum( N, x, stride )`][@stdlib/blas/base/dasum]</span><span class="delimiter">: </span><span class="description">compute the sum of absolute values (_L1_ norm).</span> 51 - <span class="signature">[`daxpy( N, alpha, x, strideX, y, strideY )`][@stdlib/blas/base/daxpy]</span><span class="delimiter">: </span><span class="description">multiply a vector `x` by a constant `alpha` and add the result to `y`.</span> 52 - <span class="signature">[`dcopy( N, x, strideX, y, strideY )`][@stdlib/blas/base/dcopy]</span><span class="delimiter">: </span><span class="description">copy values from `x` into `y`.</span> 53 - <span class="signature">[`ddot( N, x, strideX, y, strideY )`][@stdlib/blas/base/ddot]</span><span class="delimiter">: </span><span class="description">calculate the dot product of two double-precision floating-point vectors.</span> 54 - <span class="signature">[`dnrm2( N, x, stride )`][@stdlib/blas/base/dnrm2]</span><span class="delimiter">: </span><span class="description">calculate the L2-norm of a double-precision floating-point vector.</span> 55 - <span class="signature">[`dscal( N, alpha, x, stride )`][@stdlib/blas/base/dscal]</span><span class="delimiter">: </span><span class="description">multiply a double-precision floating-point vector `x` by a constant `alpha`.</span> 56 - <span class="signature">[`dsdot( N, x, strideX, y, strideY )`][@stdlib/blas/base/dsdot]</span><span class="delimiter">: </span><span class="description">calculate the dot product with extended accumulation and result of two single-precision floating-point vectors.</span> 57 - <span class="signature">[`dswap( N, x, strideX, y, strideY )`][@stdlib/blas/base/dswap]</span><span class="delimiter">: </span><span class="description">interchange two double-precision floating-point vectors.</span> 58 - <span class="signature">[`gasum( N, x, stride )`][@stdlib/blas/base/gasum]</span><span class="delimiter">: </span><span class="description">compute the sum of absolute values (_L1_ norm).</span> 59 - <span class="signature">[`gaxpy( N, alpha, x, strideX, y, strideY )`][@stdlib/blas/base/gaxpy]</span><span class="delimiter">: </span><span class="description">multiply `x` by a constant `alpha` and add the result to `y`.</span> 60 - <span class="signature">[`gcopy( N, x, strideX, y, strideY )`][@stdlib/blas/base/gcopy]</span><span class="delimiter">: </span><span class="description">copy values from `x` into `y`.</span> 61 - <span class="signature">[`gdot( N, x, strideX, y, strideY )`][@stdlib/blas/base/gdot]</span><span class="delimiter">: </span><span class="description">calculate the dot product of two vectors.</span> 62 - <span class="signature">[`gnrm2( N, x, stride )`][@stdlib/blas/base/gnrm2]</span><span class="delimiter">: </span><span class="description">calculate the L2-norm of a vector.</span> 63 - <span class="signature">[`gscal( N, alpha, x, stride )`][@stdlib/blas/base/gscal]</span><span class="delimiter">: </span><span class="description">multiply a vector `x` by a constant `alpha`.</span> 64 - <span class="signature">[`gswap( N, x, strideX, y, strideY )`][@stdlib/blas/base/gswap]</span><span class="delimiter">: </span><span class="description">interchange two vectors.</span> 65 - <span class="signature">[`sasum( N, x, stride )`][@stdlib/blas/base/sasum]</span><span class="delimiter">: </span><span class="description">compute the sum of absolute values (_L1_ norm).</span> 66 - <span class="signature">[`saxpy( N, alpha, x, strideX, y, strideY )`][@stdlib/blas/base/saxpy]</span><span class="delimiter">: </span><span class="description">multiply a vector `x` by a constant `alpha` and add the result to `y`.</span> 67 - <span class="signature">[`scopy( N, x, strideX, y, strideY )`][@stdlib/blas/base/scopy]</span><span class="delimiter">: </span><span class="description">copy values from `x` into `y`.</span> 68 - <span class="signature">[`sdot( N, x, strideX, y, strideY )`][@stdlib/blas/base/sdot]</span><span class="delimiter">: </span><span class="description">calculate the dot product of two single-precision floating-point vectors.</span> 69 - <span class="signature">[`sdsdot( N, scalar, x, strideX, y, strideY )`][@stdlib/blas/base/sdsdot]</span><span class="delimiter">: </span><span class="description">calculate the dot product of two single-precision floating-point vectors with extended accumulation.</span> 70 - <span class="signature">[`snrm2( N, x, stride )`][@stdlib/blas/base/snrm2]</span><span class="delimiter">: </span><span class="description">calculate the L2-norm of a single-precision floating-point vector.</span> 71 - <span class="signature">[`sscal( N, alpha, x, stride )`][@stdlib/blas/base/sscal]</span><span class="delimiter">: </span><span class="description">multiply a single-precision floating-point vector `x` by a constant `alpha`.</span> 72 - <span class="signature">[`sswap( N, x, strideX, y, strideY )`][@stdlib/blas/base/sswap]</span><span class="delimiter">: </span><span class="description">interchange two single-precision floating-point vectors.</span> 73 74 </div> 75 76 <!-- </toc> --> 77 78 ### Auxiliary BLAS 79 80 <!-- <toc pattern="+(*amax|*lsame|*xerbla*)"> --> 81 82 83 84 <!-- </toc> --> 85 86 </section> 87 88 <!-- /.usage --> 89 90 <section class="examples"> 91 92 ## Examples 93 94 <!-- TODO: better examples --> 95 96 <!-- eslint no-undef: "error" --> 97 98 ```javascript 99 var objectKeys = require( '@stdlib/utils/keys' ); 100 var blas = require( '@stdlib/blas/base' ); 101 102 console.log( objectKeys( blas ) ); 103 ``` 104 105 </section> 106 107 <!-- /.examples --> 108 109 <section class="links"> 110 111 <!-- <toc-links> --> 112 113 [@stdlib/blas/base/ccopy]: https://www.npmjs.com/package/@stdlib/blas/tree/main/base/ccopy 114 115 [@stdlib/blas/base/cswap]: https://www.npmjs.com/package/@stdlib/blas/tree/main/base/cswap 116 117 [@stdlib/blas/base/dasum]: https://www.npmjs.com/package/@stdlib/blas/tree/main/base/dasum 118 119 [@stdlib/blas/base/daxpy]: https://www.npmjs.com/package/@stdlib/blas/tree/main/base/daxpy 120 121 [@stdlib/blas/base/dcopy]: https://www.npmjs.com/package/@stdlib/blas/tree/main/base/dcopy 122 123 [@stdlib/blas/base/ddot]: https://www.npmjs.com/package/@stdlib/blas/tree/main/base/ddot 124 125 [@stdlib/blas/base/dnrm2]: https://www.npmjs.com/package/@stdlib/blas/tree/main/base/dnrm2 126 127 [@stdlib/blas/base/dscal]: https://www.npmjs.com/package/@stdlib/blas/tree/main/base/dscal 128 129 [@stdlib/blas/base/dsdot]: https://www.npmjs.com/package/@stdlib/blas/tree/main/base/dsdot 130 131 [@stdlib/blas/base/dswap]: https://www.npmjs.com/package/@stdlib/blas/tree/main/base/dswap 132 133 [@stdlib/blas/base/gasum]: https://www.npmjs.com/package/@stdlib/blas/tree/main/base/gasum 134 135 [@stdlib/blas/base/gaxpy]: https://www.npmjs.com/package/@stdlib/blas/tree/main/base/gaxpy 136 137 [@stdlib/blas/base/gcopy]: https://www.npmjs.com/package/@stdlib/blas/tree/main/base/gcopy 138 139 [@stdlib/blas/base/gdot]: https://www.npmjs.com/package/@stdlib/blas/tree/main/base/gdot 140 141 [@stdlib/blas/base/gnrm2]: https://www.npmjs.com/package/@stdlib/blas/tree/main/base/gnrm2 142 143 [@stdlib/blas/base/gscal]: https://www.npmjs.com/package/@stdlib/blas/tree/main/base/gscal 144 145 [@stdlib/blas/base/gswap]: https://www.npmjs.com/package/@stdlib/blas/tree/main/base/gswap 146 147 [@stdlib/blas/base/sasum]: https://www.npmjs.com/package/@stdlib/blas/tree/main/base/sasum 148 149 [@stdlib/blas/base/saxpy]: https://www.npmjs.com/package/@stdlib/blas/tree/main/base/saxpy 150 151 [@stdlib/blas/base/scopy]: https://www.npmjs.com/package/@stdlib/blas/tree/main/base/scopy 152 153 [@stdlib/blas/base/sdot]: https://www.npmjs.com/package/@stdlib/blas/tree/main/base/sdot 154 155 [@stdlib/blas/base/sdsdot]: https://www.npmjs.com/package/@stdlib/blas/tree/main/base/sdsdot 156 157 [@stdlib/blas/base/snrm2]: https://www.npmjs.com/package/@stdlib/blas/tree/main/base/snrm2 158 159 [@stdlib/blas/base/sscal]: https://www.npmjs.com/package/@stdlib/blas/tree/main/base/sscal 160 161 [@stdlib/blas/base/sswap]: https://www.npmjs.com/package/@stdlib/blas/tree/main/base/sswap 162 163 <!-- </toc-links> --> 164 165 </section> 166 167 <!-- /.links -->