Compute the squared absolute value of a complex number.
APACHE-2.0 License
Compute the squared absolute value of a double-precision complex floating-point number.
The absolute value of a complex number is defined as
|a + bi| = \sqrt{a^2 + b^2}
which corresponds to the length of a vector from the origin to a complex value plotted in the complex plane.
npm install @stdlib/math-base-special-cabs2
Alternatively,
script
tag without installation and bundlers, use the ES Module available on the esm
branch (see README).deno
branch (see README for usage intructions).umd
branch (see README).The branches.md file summarizes the available branches and displays a diagram illustrating their relationships.
To view installation and usage instructions specific to each branch build, be sure to explicitly navigate to the respective README files on each branch, as linked to above.
var cabs2 = require( '@stdlib/math-base-special-cabs2' );
Computes the squared absolute value of a double-precision complex floating-point number.
var Complex128 = require( '@stdlib/complex-float64-ctor' );
var y = cabs2( new Complex128( 5.0, 3.0 ) );
// returns 34.0
cabs2()
over cabs()
.var Complex128 = require( '@stdlib/complex-float64-ctor' );
var discreteUniform = require( '@stdlib/random-base-discrete-uniform' ).factory;
var cabs2 = require( '@stdlib/math-base-special-cabs2' );
// Create a PRNG to generate uniformly distributed pseudorandom integers:
var rand = discreteUniform( -50, 50 );
// Compute the squared absolute value for a set of random numbers...
var z;
var i;
for ( i = 0; i < 100; i++ ) {
z = new Complex128( rand(), rand() );
console.log( 'cabs2(%s) = %d', z.toString(), cabs2( z ) );
}
#include "stdlib/math/base/special/cabs2.h"
Computes the squared absolute value of a double-precision complex floating-point number.
#include "stdlib/complex/float64/ctor.h"
stdlib_complex128_t z = stdlib_complex128( 5.0, 3.0 );
double y = stdlib_base_cabs2( z );
// returns 34.0
The function accepts the following arguments:
[in] stdlib_complex128_t
input value.double stdlib_base_cabs2( const stdlib_complex128_t z );
#include "stdlib/math/base/special/cabs2.h"
#include "stdlib/complex/float64/ctor.h"
#include "stdlib/complex/float64/reim.h"
#include <stdio.h>
int main( void ) {
const stdlib_complex128_t x[] = {
stdlib_complex128( 3.14, 1.0 ),
stdlib_complex128( -3.14, -1.0 ),
stdlib_complex128( 0.0, 0.0 ),
stdlib_complex128( 0.0/0.0, 0.0/0.0 )
};
stdlib_complex128_t v;
double re;
double im;
double y;
int i;
for ( i = 0; i < 4; i++ ) {
v = x[ i ];
y = stdlib_base_cabs2( v );
stdlib_complex128_reim( v, &re, &im );
printf( "f(%lf + %lf) = %lf\n", re, im, y );
}
}
@stdlib/math-base/special/cabs
: compute the absolute value of a double-precision complex floating-point number.
@stdlib/math-base/special/abs2
: compute the squared absolute value of a double-precision floating-point number.
This package is part of stdlib, a standard library for JavaScript and Node.js, with an emphasis on numerical and scientific computing. The library provides a collection of robust, high performance libraries for mathematics, statistics, streams, utilities, and more.
For more information on the project, filing bug reports and feature requests, and guidance on how to develop stdlib, see the main project repository.
See LICENSE.
Copyright © 2016-2024. The Stdlib Authors.