Slatec.pm (PDL-2.074) | : | Slatec.pm (PDL-2.075) | ||
---|---|---|---|---|

skipping to change at line 17 | skipping to change at line 17 | |||

our %EXPORT_TAGS = (Func=>\@EXPORT_OK); | our %EXPORT_TAGS = (Func=>\@EXPORT_OK); | |||

use PDL::Core; | use PDL::Core; | |||

use PDL::Exporter; | use PDL::Exporter; | |||

use DynaLoader; | use DynaLoader; | |||

our @ISA = ( 'PDL::Exporter','DynaLoader' ); | our @ISA = ( 'PDL::Exporter','DynaLoader' ); | |||

push @PDL::Core::PP, __PACKAGE__; | push @PDL::Core::PP, __PACKAGE__; | |||

bootstrap PDL::Slatec ; | bootstrap PDL::Slatec ; | |||

#line 6 "slatec.pd" | #line 5 "slatec.pd" | |||

use strict; | use strict; | |||

use warnings; | use warnings; | |||

=head1 NAME | =head1 NAME | |||

PDL::Slatec - PDL interface to the slatec numerical programming library | PDL::Slatec - PDL interface to the slatec numerical programming library | |||

=head1 SYNOPSIS | =head1 SYNOPSIS | |||

use PDL::Slatec; | use PDL::Slatec; | |||

skipping to change at line 89 | skipping to change at line 90 | |||

L</chfd>; L</chfe>; L</chia>; L</chid>. | L</chfd>; L</chfe>; L</chia>; L</chid>. | |||

=item * | =item * | |||

If desired, you can check the monotonicity of your | If desired, you can check the monotonicity of your | |||

data using L</chcm>. | data using L</chcm>. | |||

=back | =back | |||

=cut | =cut | |||

#line 97 "Slatec.pm" | #line 98 "Slatec.pm" | |||

=head1 FUNCTIONS | =head1 FUNCTIONS | |||

=cut | =cut | |||

#line 92 "slatec.pd" | #line 91 "slatec.pd" | |||

=head2 eigsys | =head2 eigsys | |||

=for ref | =for ref | |||

Eigenvalues and eigenvectors of a real positive definite symmetric matrix. | Eigenvalues and eigenvectors of a real positive definite symmetric matrix. | |||

=for usage | =for usage | |||

($eigvals,$eigvecs) = eigsys($mat) | ($eigvals,$eigvecs) = eigsys($mat) | |||

skipping to change at line 127 | skipping to change at line 129 | |||

($inv) = matinv($mat) | ($inv) = matinv($mat) | |||

=head2 polyfit | =head2 polyfit | |||

Convenience wrapper routine about the C<polfit> C<slatec> function. | Convenience wrapper routine about the C<polfit> C<slatec> function. | |||

Separates supplied arguments and return values. | Separates supplied arguments and return values. | |||

=for ref | =for ref | |||

Fit discrete data in a least squares sense by polynomials | Fit discrete data in a least squares sense by polynomials | |||

in one variable. Handles threading correctly--one can pass in a 2D PDL (as C<$y >) | in one variable. Handles broadcasting correctly--one can pass in a 2D PDL (as C <$y>) | |||

and it will pass back a 2D PDL, the rows of which are the polynomial regression | and it will pass back a 2D PDL, the rows of which are the polynomial regression | |||

results (in C<$r> corresponding to the rows of $y. | results (in C<$r> corresponding to the rows of $y. | |||

=for usage | =for usage | |||

($ndeg, $r, $ierr, $c, $coeffs, $rms) = polyfit($x, $y, $w, $maxdeg, [$eps]); | ($ndeg, $r, $ierr, $c, $coeffs, $rms) = polyfit($x, $y, $w, $maxdeg, [$eps]); | |||

$coeffs = polyfit($x,$y,$w,$maxdeg,[$eps]); | $coeffs = polyfit($x,$y,$w,$maxdeg,[$eps]); | |||

where on input: | where on input: | |||

skipping to change at line 162 | skipping to change at line 164 | |||

C<$coeffs> is the polynomial coefficients of the best fit polynomial. | C<$coeffs> is the polynomial coefficients of the best fit polynomial. | |||

C<$rms> is the rms error of the fit. | C<$rms> is the rms error of the fit. | |||

In scalar context, only $coeffs is returned. | In scalar context, only $coeffs is returned. | |||

Historically, C<$eps> was modified in-place to be a return value of the | Historically, C<$eps> was modified in-place to be a return value of the | |||

rms error. This usage is deprecated, and C<$eps> is an optional parameter now. | rms error. This usage is deprecated, and C<$eps> is an optional parameter now. | |||

It is still modified if present. | It is still modified if present. | |||

C<$c> is a working array accessible to Slatec - you can feed it to several | C<$c> is a working array accessible to Slatec - you can feed it to several | |||

other Slatec routines to get nice things out. It does not thread | other Slatec routines to get nice things out. It does not broadcast | |||

correctly and should probably be fixed by someone. If you are | correctly and should probably be fixed by someone. If you are | |||

reading this, that someone might be you. | reading this, that someone might be you. | |||

=for bad | =for bad | |||

This version of polyfit handles bad values correctly. Bad values in | This version of polyfit handles bad values correctly. Bad values in | |||

$y are ignored for the fit and give computed values on the fitted | $y are ignored for the fit and give computed values on the fitted | |||

curve in the return. Bad values in $x or $w are ignored for the fit and | curve in the return. Bad values in $x or $w are ignored for the fit and | |||

result in bad elements in the output. | result in bad elements in the output. | |||

skipping to change at line 229 | skipping to change at line 231 | |||

=for usage | =for usage | |||

$determinant = detslatec $matrix; | $determinant = detslatec $matrix; | |||

=for sig | =for sig | |||

Signature: detslatec(mat(n,m); [o] det()) | Signature: detslatec(mat(n,m); [o] det()) | |||

C<detslatec> computes the determinant of an invertible matrix and barfs if | C<detslatec> computes the determinant of an invertible matrix and barfs if | |||

the matrix argument provided is non-invertible. The matrix threads as usual. | the matrix argument provided is non-invertible. The matrix broadcasts as usual. | |||

This routine was previously known as C<det> which clashes now with | This routine was previously known as C<det> which clashes now with | |||

L<det|PDL::MatrixOps/det> which is provided by L<PDL::MatrixOps>. | L<det|PDL::MatrixOps/det> which is provided by L<PDL::MatrixOps>. | |||

=head2 fft | =head2 fft | |||

=for ref | =for ref | |||

Fast Fourier Transform | Fast Fourier Transform | |||

skipping to change at line 268 | skipping to change at line 270 | |||

print $v_in, $vout | print $v_in, $vout | |||

[1 0 1 0] [1 0 1 0] | [1 0 1 0] [1 0 1 0] | |||

C<PDL::Slatec::rfft> is a convenience wrapper for L</ezfftb>, | C<PDL::Slatec::rfft> is a convenience wrapper for L</ezfftb>, | |||

and performs a reverse Fast Fourier Transform. The input is the same | and performs a reverse Fast Fourier Transform. The input is the same | |||

as the output of L</PDL::Slatec::fft>, and the output | as the output of L</PDL::Slatec::fft>, and the output | |||

of C<rfft> is a data vector, similar to what is input into | of C<rfft> is a data vector, similar to what is input into | |||

L</PDL::Slatec::fft>. | L</PDL::Slatec::fft>. | |||

=cut | =cut | |||

#line 284 "Slatec.pm" | #line 286 "Slatec.pm" | |||

#line 424 "slatec.pd" | #line 423 "slatec.pd" | |||

use PDL::Core; | use PDL::Core; | |||

use PDL::Basic; | use PDL::Basic; | |||

use PDL::Primitive; | use PDL::Primitive; | |||

use PDL::Ufunc; | use PDL::Ufunc; | |||

use strict; | use strict; | |||

# Note: handles only real symmetric positive-definite. | # Note: handles only real symmetric positive-definite. | |||

*eigsys = \&PDL::eigsys; | *eigsys = \&PDL::eigsys; | |||

skipping to change at line 438 | skipping to change at line 440 | |||

} | } | |||

# Run the slatec function | # Run the slatec function | |||

pvalue($_[0], $_[2], $yfit, $yp, $_[3]); | pvalue($_[0], $_[2], $yfit, $yp, $_[3]); | |||

# Returns | # Returns | |||

return ($yfit, $yp); | return ($yfit, $yp); | |||

} | } | |||

#line 458 "Slatec.pm" | #line 461 "Slatec.pm" | |||

#line 1059 "../../blib/lib/PDL/PP.pm" | #line 1058 "../../blib/lib/PDL/PP.pm" | |||

=head2 svdc | =head2 svdc | |||

=for sig | =for sig | |||

Signature: (x(n,p);[o]s(p);[o]e(p);[o]u(n,p);[o]v(p,p);[o]work(n);longlong job ();longlong [o]info()) | Signature: (x(n,p);[o]s(p);[o]e(p);[o]u(n,p);[o]v(p,p);[o]work(n);longlong job ();longlong [o]info()) | |||

=for ref | =for ref | |||

singular value decomposition of a matrix | singular value decomposition of a matrix | |||

=for bad | =for bad | |||

svdc does not process bad values. | svdc does not process bad values. | |||

It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays. | It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays. | |||

=cut | =cut | |||

#line 482 "Slatec.pm" | #line 486 "Slatec.pm" | |||

#line 1060 "../../blib/lib/PDL/PP.pm" | ||||

#line 1061 "../../blib/lib/PDL/PP.pm" | ||||

*svdc = \&PDL::svdc; | *svdc = \&PDL::svdc; | |||

#line 488 "Slatec.pm" | #line 493 "Slatec.pm" | |||

#line 1059 "../../blib/lib/PDL/PP.pm" | #line 1058 "../../blib/lib/PDL/PP.pm" | |||

=head2 poco | =head2 poco | |||

=for sig | =for sig | |||

Signature: (a(n,n);rcond();[o]z(n);longlong [o]info()) | Signature: (a(n,n);rcond();[o]z(n);longlong [o]info()) | |||

Factor a real symmetric positive definite matrix | Factor a real symmetric positive definite matrix | |||

and estimate the condition number of the matrix. | and estimate the condition number of the matrix. | |||

=for bad | =for bad | |||

poco does not process bad values. | poco does not process bad values. | |||

It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays. | ||||

=cut | =cut | |||

#line 511 "Slatec.pm" | #line 517 "Slatec.pm" | |||

#line 1060 "../../blib/lib/PDL/PP.pm" | ||||

#line 1061 "../../blib/lib/PDL/PP.pm" | ||||

*poco = \&PDL::poco; | *poco = \&PDL::poco; | |||

#line 517 "Slatec.pm" | #line 524 "Slatec.pm" | |||

#line 1059 "../../blib/lib/PDL/PP.pm" | #line 1058 "../../blib/lib/PDL/PP.pm" | |||

=head2 geco | =head2 geco | |||

=for sig | =for sig | |||

Signature: (a(n,n);longlong [o]ipvt(n);[o]rcond();[o]z(n)) | Signature: (a(n,n);longlong [o]ipvt(n);[o]rcond();[o]z(n)) | |||

Factor a matrix using Gaussian elimination and estimate | Factor a matrix using Gaussian elimination and estimate | |||

the condition number of the matrix. | the condition number of the matrix. | |||

=for bad | =for bad | |||

geco does not process bad values. | geco does not process bad values. | |||

=cut | =cut | |||

#line 540 "Slatec.pm" | #line 548 "Slatec.pm" | |||

#line 1060 "../../blib/lib/PDL/PP.pm" | ||||

#line 1061 "../../blib/lib/PDL/PP.pm" | ||||

*geco = \&PDL::geco; | *geco = \&PDL::geco; | |||

#line 546 "Slatec.pm" | #line 555 "Slatec.pm" | |||

#line 1059 "../../blib/lib/PDL/PP.pm" | #line 1058 "../../blib/lib/PDL/PP.pm" | |||

=head2 gefa | =head2 gefa | |||

=for sig | =for sig | |||

Signature: (a(n,n);longlong [o]ipvt(n);longlong [o]info()) | Signature: (a(n,n);longlong [o]ipvt(n);longlong [o]info()) | |||

=for ref | =for ref | |||

Factor a matrix using Gaussian elimination. | Factor a matrix using Gaussian elimination. | |||

=for bad | =for bad | |||

gefa does not process bad values. | gefa does not process bad values. | |||

=cut | =cut | |||

#line 570 "Slatec.pm" | #line 580 "Slatec.pm" | |||

#line 1060 "../../blib/lib/PDL/PP.pm" | ||||

#line 1061 "../../blib/lib/PDL/PP.pm" | ||||

*gefa = \&PDL::gefa; | *gefa = \&PDL::gefa; | |||

#line 576 "Slatec.pm" | #line 587 "Slatec.pm" | |||

#line 1059 "../../blib/lib/PDL/PP.pm" | #line 1058 "../../blib/lib/PDL/PP.pm" | |||

=head2 podi | =head2 podi | |||

=for sig | =for sig | |||

Signature: (a(n,n);[o]det(two=2);longlong job()) | Signature: (a(n,n);[o]det(two=2);longlong job()) | |||

Compute the determinant and inverse of a certain real | Compute the determinant and inverse of a certain real | |||

symmetric positive definite matrix using the factors | symmetric positive definite matrix using the factors | |||

computed by L</poco>. | computed by L</poco>. | |||

=for bad | =for bad | |||

podi does not process bad values. | podi does not process bad values. | |||

=cut | =cut | |||

#line 600 "Slatec.pm" | #line 612 "Slatec.pm" | |||

#line 1060 "../../blib/lib/PDL/PP.pm" | ||||

#line 1061 "../../blib/lib/PDL/PP.pm" | ||||

*podi = \&PDL::podi; | *podi = \&PDL::podi; | |||

#line 606 "Slatec.pm" | #line 619 "Slatec.pm" | |||

#line 1059 "../../blib/lib/PDL/PP.pm" | #line 1058 "../../blib/lib/PDL/PP.pm" | |||

=head2 gedi | =head2 gedi | |||

=for sig | =for sig | |||

Signature: (a(n,n);longlong [o]ipvt(n);[o]det(two=2);[o]work(n);longlong job() ) | Signature: (a(n,n);longlong [o]ipvt(n);[o]det(two=2);[o]work(n);longlong job() ) | |||

Compute the determinant and inverse of a matrix using the | Compute the determinant and inverse of a matrix using the | |||

factors computed by L</geco> or L</gefa>. | factors computed by L</geco> or L</gefa>. | |||

=for bad | =for bad | |||

gedi does not process bad values. | gedi does not process bad values. | |||

=cut | =cut | |||

#line 629 "Slatec.pm" | #line 643 "Slatec.pm" | |||

#line 1060 "../../blib/lib/PDL/PP.pm" | ||||

#line 1061 "../../blib/lib/PDL/PP.pm" | ||||

*gedi = \&PDL::gedi; | *gedi = \&PDL::gedi; | |||

#line 635 "Slatec.pm" | #line 650 "Slatec.pm" | |||

#line 1059 "../../blib/lib/PDL/PP.pm" | #line 1058 "../../blib/lib/PDL/PP.pm" | |||

=head2 gesl | =head2 gesl | |||

=for sig | =for sig | |||

Signature: (a(lda,n);longlong ipvt(n);b(n);longlong job()) | Signature: (a(lda,n);longlong ipvt(n);b(n);longlong job()) | |||

Solve the real system C<A*X=B> or C<TRANS(A)*X=B> using the | Solve the real system C<A*X=B> or C<TRANS(A)*X=B> using the | |||

factors computed by L</geco> or L</gefa>. | factors computed by L</geco> or L</gefa>. | |||

=for bad | =for bad | |||

gesl does not process bad values. | gesl does not process bad values. | |||

=cut | =cut | |||

#line 658 "Slatec.pm" | #line 674 "Slatec.pm" | |||

#line 1060 "../../blib/lib/PDL/PP.pm" | ||||

#line 1061 "../../blib/lib/PDL/PP.pm" | ||||

*gesl = \&PDL::gesl; | *gesl = \&PDL::gesl; | |||

#line 664 "Slatec.pm" | #line 681 "Slatec.pm" | |||

#line 1059 "../../blib/lib/PDL/PP.pm" | #line 1058 "../../blib/lib/PDL/PP.pm" | |||

=head2 rs | =head2 rs | |||

=for sig | =for sig | |||

Signature: (a(n,n);[o]w(n);longlong matz();[o]z(n,n);[t]fvone(n);[t]fvtwo(n);l onglong [o]ierr()) | Signature: (a(n,n);[o]w(n);longlong matz();[o]z(n,n);[t]fvone(n);[t]fvtwo(n);l onglong [o]ierr()) | |||

This subroutine calls the recommended sequence of | This subroutine calls the recommended sequence of | |||

subroutines from the eigensystem subroutine package (EISPACK) | subroutines from the eigensystem subroutine package (EISPACK) | |||

to find the eigenvalues and eigenvectors (if desired) | to find the eigenvalues and eigenvectors (if desired) | |||

of a REAL SYMMETRIC matrix. | of a REAL SYMMETRIC matrix. | |||

=for bad | =for bad | |||

rs does not process bad values. | rs does not process bad values. | |||

=cut | =cut | |||

#line 689 "Slatec.pm" | #line 707 "Slatec.pm" | |||

#line 1060 "../../blib/lib/PDL/PP.pm" | ||||

#line 1061 "../../blib/lib/PDL/PP.pm" | ||||

*rs = \&PDL::rs; | *rs = \&PDL::rs; | |||

#line 695 "Slatec.pm" | #line 714 "Slatec.pm" | |||

#line 1059 "../../blib/lib/PDL/PP.pm" | #line 1058 "../../blib/lib/PDL/PP.pm" | |||

=head2 ezffti | =head2 ezffti | |||

=for sig | =for sig | |||

Signature: (longlong n();[o]wsave(foo)) | Signature: (longlong n();[o]wsave(foo)) | |||

Subroutine ezffti initializes the work array C<wsave()> | Subroutine ezffti initializes the work array C<wsave()> | |||

which is used in both L</ezfftf> and | which is used in both L</ezfftf> and | |||

L</ezfftb>. | L</ezfftb>. | |||

The prime factorization | The prime factorization | |||

of C<n> together with a tabulation of the trigonometric functions | of C<n> together with a tabulation of the trigonometric functions | |||

are computed and stored in C<wsave()>. | are computed and stored in C<wsave()>. | |||

=for bad | =for bad | |||

ezffti does not process bad values. | ezffti does not process bad values. | |||

=cut | =cut | |||

#line 722 "Slatec.pm" | #line 742 "Slatec.pm" | |||

#line 1060 "../../blib/lib/PDL/PP.pm" | ||||

#line 1061 "../../blib/lib/PDL/PP.pm" | ||||

*ezffti = \&PDL::ezffti; | *ezffti = \&PDL::ezffti; | |||

#line 728 "Slatec.pm" | #line 749 "Slatec.pm" | |||

#line 1059 "../../blib/lib/PDL/PP.pm" | #line 1058 "../../blib/lib/PDL/PP.pm" | |||

=head2 ezfftf | =head2 ezfftf | |||

=for sig | =for sig | |||

Signature: (r(n);[o]azero();[o]a(n);[o]b(n);wsave(foo)) | Signature: (r(n);[o]azero();[o]a(n);[o]b(n);wsave(foo)) | |||

=for ref | =for ref | |||

=for bad | =for bad | |||

ezfftf does not process bad values. | ezfftf does not process bad values. | |||

=cut | =cut | |||

#line 752 "Slatec.pm" | #line 774 "Slatec.pm" | |||

#line 1060 "../../blib/lib/PDL/PP.pm" | ||||

#line 1061 "../../blib/lib/PDL/PP.pm" | ||||

*ezfftf = \&PDL::ezfftf; | *ezfftf = \&PDL::ezfftf; | |||

#line 758 "Slatec.pm" | #line 781 "Slatec.pm" | |||

#line 1059 "../../blib/lib/PDL/PP.pm" | #line 1058 "../../blib/lib/PDL/PP.pm" | |||

=head2 ezfftb | =head2 ezfftb | |||

=for sig | =for sig | |||

Signature: ([o]r(n);azero();a(n);b(n);wsave(foo)) | Signature: ([o]r(n);azero();a(n);b(n);wsave(foo)) | |||

=for ref | =for ref | |||

=for bad | =for bad | |||

ezfftb does not process bad values. | ezfftb does not process bad values. | |||

=cut | =cut | |||

#line 782 "Slatec.pm" | #line 806 "Slatec.pm" | |||

#line 1060 "../../blib/lib/PDL/PP.pm" | ||||

#line 1061 "../../blib/lib/PDL/PP.pm" | ||||

*ezfftb = \&PDL::ezfftb; | *ezfftb = \&PDL::ezfftb; | |||

#line 788 "Slatec.pm" | #line 813 "Slatec.pm" | |||

#line 1059 "../../blib/lib/PDL/PP.pm" | #line 1058 "../../blib/lib/PDL/PP.pm" | |||

=head2 pcoef | =head2 pcoef | |||

=for sig | =for sig | |||

Signature: (longlong l();c();[o]tc(bar);a(foo)) | Signature: (longlong l();c();[o]tc(bar);a(foo)) | |||

Convert the C<polfit> coefficients to Taylor series form. | Convert the C<polfit> coefficients to Taylor series form. | |||

C<c> and C<a()> must be of the same type. | C<c> and C<a()> must be of the same type. | |||

=for bad | =for bad | |||

pcoef does not process bad values. | pcoef does not process bad values. | |||

=cut | =cut | |||

#line 811 "Slatec.pm" | #line 837 "Slatec.pm" | |||

#line 1060 "../../blib/lib/PDL/PP.pm" | ||||

#line 1061 "../../blib/lib/PDL/PP.pm" | ||||

*pcoef = \&PDL::pcoef; | *pcoef = \&PDL::pcoef; | |||

#line 817 "Slatec.pm" | #line 844 "Slatec.pm" | |||

#line 1059 "../../blib/lib/PDL/PP.pm" | #line 1058 "../../blib/lib/PDL/PP.pm" | |||

=head2 pvalue | =head2 pvalue | |||

=for sig | =for sig | |||

Signature: (longlong l();x();[o]yfit();[o]yp(nder);a(foo)) | Signature: (longlong l();x();[o]yfit();[o]yp(nder);a(foo)) | |||

Use the coefficients generated by C<polfit> to evaluate the | Use the coefficients generated by C<polfit> to evaluate the | |||

polynomial fit of degree C<l>, along with the first C<nder> of | polynomial fit of degree C<l>, along with the first C<nder> of | |||

its derivatives, at a specified point. C<x> and C<a> must be of the | its derivatives, at a specified point. C<x> and C<a> must be of the | |||

same type. | same type. | |||

=for bad | =for bad | |||

pvalue does not process bad values. | pvalue does not process bad values. | |||

=cut | =cut | |||

#line 842 "Slatec.pm" | #line 870 "Slatec.pm" | |||

#line 1060 "../../blib/lib/PDL/PP.pm" | ||||

#line 1061 "../../blib/lib/PDL/PP.pm" | ||||

*pvalue = \&PDL::pvalue; | *pvalue = \&PDL::pvalue; | |||

#line 848 "Slatec.pm" | #line 877 "Slatec.pm" | |||

#line 1059 "../../blib/lib/PDL/PP.pm" | #line 1058 "../../blib/lib/PDL/PP.pm" | |||

=head2 chim | =head2 chim | |||

=for sig | =for sig | |||

Signature: (x(n);f(n);[o]d(n);longlong [o]ierr()) | Signature: (x(n);f(n);[o]d(n);longlong [o]ierr()) | |||

=for ref | =for ref | |||

Calculate the derivatives of (x,f(x)) using cubic Hermite interpolation. | Calculate the derivatives of (x,f(x)) using cubic Hermite interpolation. | |||

skipping to change at line 801 | skipping to change at line 816 | |||

-3 if C<$x> is not strictly increasing. | -3 if C<$x> is not strictly increasing. | |||

=back | =back | |||

=for bad | =for bad | |||

chim does not process bad values. | chim does not process bad values. | |||

=cut | =cut | |||

#line 910 "Slatec.pm" | #line 940 "Slatec.pm" | |||

#line 1060 "../../blib/lib/PDL/PP.pm" | ||||

#line 1061 "../../blib/lib/PDL/PP.pm" | ||||

*chim = \&PDL::chim; | *chim = \&PDL::chim; | |||

#line 916 "Slatec.pm" | #line 947 "Slatec.pm" | |||

#line 1059 "../../blib/lib/PDL/PP.pm" | #line 1058 "../../blib/lib/PDL/PP.pm" | |||

=head2 chic | =head2 chic | |||

=for sig | =for sig | |||

Signature: (longlong ic(two=2);vc(two=2);mflag();x(n);f(n);[o]d(n);wk(nwk);lon glong [o]ierr()) | Signature: (longlong ic(two=2);vc(two=2);mflag();x(n);f(n);[o]d(n);wk(nwk);lon glong [o]ierr()) | |||

=for ref | =for ref | |||

Calculate the derivatives of (x,f(x)) using cubic Hermite interpolation. | Calculate the derivatives of (x,f(x)) using cubic Hermite interpolation. | |||

skipping to change at line 936 | skipping to change at line 952 | |||

-7 if C<nwk E<lt> 2*(n-1)>. | -7 if C<nwk E<lt> 2*(n-1)>. | |||

=back | =back | |||

=for bad | =for bad | |||

chic does not process bad values. | chic does not process bad values. | |||

=cut | =cut | |||

#line 1054 "Slatec.pm" | #line 1086 "Slatec.pm" | |||

#line 1060 "../../blib/lib/PDL/PP.pm" | ||||

#line 1061 "../../blib/lib/PDL/PP.pm" | ||||

*chic = \&PDL::chic; | *chic = \&PDL::chic; | |||

#line 1060 "Slatec.pm" | #line 1093 "Slatec.pm" | |||

#line 1059 "../../blib/lib/PDL/PP.pm" | #line 1058 "../../blib/lib/PDL/PP.pm" | |||

=head2 chsp | =head2 chsp | |||

=for sig | =for sig | |||

Signature: (longlong ic(two=2);vc(two=2);x(n);f(n);[o]d(n);wk(nwk);longlong [o ]ierr()) | Signature: (longlong ic(two=2);vc(two=2);x(n);f(n);[o]d(n);wk(nwk);longlong [o ]ierr()) | |||

=for ref | =for ref | |||

Calculate the derivatives of (x,f(x)) using cubic spline interpolation. | Calculate the derivatives of (x,f(x)) using cubic spline interpolation. | |||

skipping to change at line 1048 | skipping to change at line 1065 | |||

for the interior derivative values. | for the interior derivative values. | |||

=back | =back | |||

=for bad | =for bad | |||

chsp does not process bad values. | chsp does not process bad values. | |||

=cut | =cut | |||

#line 1175 "Slatec.pm" | #line 1209 "Slatec.pm" | |||

#line 1060 "../../blib/lib/PDL/PP.pm" | ||||

#line 1061 "../../blib/lib/PDL/PP.pm" | ||||

*chsp = \&PDL::chsp; | *chsp = \&PDL::chsp; | |||

#line 1181 "Slatec.pm" | #line 1216 "Slatec.pm" | |||

#line 1059 "../../blib/lib/PDL/PP.pm" | #line 1058 "../../blib/lib/PDL/PP.pm" | |||

=head2 chfd | =head2 chfd | |||

=for sig | =for sig | |||

Signature: (x(n);f(n);d(n);longlong check();xe(ne);[o]fe(ne);[o]de(ne);longlon g [o]ierr()) | Signature: (x(n);f(n);d(n);longlong check();xe(ne);[o]fe(ne);[o]de(ne);longlon g [o]ierr()) | |||

=for ref | =for ref | |||

Interpolate function and derivative values. | Interpolate function and derivative values. | |||

skipping to change at line 1110 | skipping to change at line 1128 | |||

which should never happen. | which should never happen. | |||

=back | =back | |||

=for bad | =for bad | |||

chfd does not process bad values. | chfd does not process bad values. | |||

=cut | =cut | |||

#line 1246 "Slatec.pm" | #line 1282 "Slatec.pm" | |||

#line 1060 "../../blib/lib/PDL/PP.pm" | ||||

#line 1061 "../../blib/lib/PDL/PP.pm" | ||||

*chfd = \&PDL::chfd; | *chfd = \&PDL::chfd; | |||

#line 1252 "Slatec.pm" | #line 1289 "Slatec.pm" | |||

#line 1059 "../../blib/lib/PDL/PP.pm" | #line 1058 "../../blib/lib/PDL/PP.pm" | |||

=head2 chfe | =head2 chfe | |||

=for sig | =for sig | |||

Signature: (x(n);f(n);d(n);longlong check();xe(ne);[o]fe(ne);longlong [o]ierr( )) | Signature: (x(n);f(n);d(n);longlong check();xe(ne);[o]fe(ne);longlong [o]ierr( )) | |||

=for ref | =for ref | |||

Interpolate function values. | Interpolate function values. | |||

skipping to change at line 1167 | skipping to change at line 1186 | |||

-4 if C<nelem($xe) E<lt> 1>. | -4 if C<nelem($xe) E<lt> 1>. | |||

=back | =back | |||

=for bad | =for bad | |||

chfe does not process bad values. | chfe does not process bad values. | |||

=cut | =cut | |||

#line 1312 "Slatec.pm" | #line 1350 "Slatec.pm" | |||

#line 1060 "../../blib/lib/PDL/PP.pm" | ||||

#line 1061 "../../blib/lib/PDL/PP.pm" | ||||

*chfe = \&PDL::chfe; | *chfe = \&PDL::chfe; | |||

#line 1318 "Slatec.pm" | #line 1357 "Slatec.pm" | |||

#line 1059 "../../blib/lib/PDL/PP.pm" | #line 1058 "../../blib/lib/PDL/PP.pm" | |||

=head2 chia | =head2 chia | |||

=for sig | =for sig | |||

Signature: (x(n);f(n);d(n);longlong check();la();lb();[o]ans();longlong [o]ier r()) | Signature: (x(n);f(n);d(n);longlong check();la();lb();[o]ans();longlong [o]ier r()) | |||

=for ref | =for ref | |||

Integrate (x,f(x)) over arbitrary limits. | Integrate (x,f(x)) over arbitrary limits. | |||

skipping to change at line 1237 | skipping to change at line 1257 | |||

which should never happen. | which should never happen. | |||

=back | =back | |||

=for bad | =for bad | |||

chia does not process bad values. | chia does not process bad values. | |||

=cut | =cut | |||

#line 1391 "Slatec.pm" | #line 1431 "Slatec.pm" | |||

#line 1060 "../../blib/lib/PDL/PP.pm" | ||||

#line 1061 "../../blib/lib/PDL/PP.pm" | ||||

*chia = \&PDL::chia; | *chia = \&PDL::chia; | |||

#line 1397 "Slatec.pm" | #line 1438 "Slatec.pm" | |||

#line 1059 "../../blib/lib/PDL/PP.pm" | #line 1058 "../../blib/lib/PDL/PP.pm" | |||

=head2 chid | =head2 chid | |||

=for sig | =for sig | |||

Signature: (x(n);f(n);d(n);longlong check();longlong ia();longlong ib();[o]ans ();longlong [o]ierr()) | Signature: (x(n);f(n);d(n);longlong check();longlong ia();longlong ib();[o]ans ();longlong [o]ierr()) | |||

=for ref | =for ref | |||

Integrate (x,f(x)) between data points. | Integrate (x,f(x)) between data points. | |||

skipping to change at line 1295 | skipping to change at line 1316 | |||

-4 if C<$ia> or C<$ib> is out of range. | -4 if C<$ia> or C<$ib> is out of range. | |||

=back | =back | |||

=for bad | =for bad | |||

chid does not process bad values. | chid does not process bad values. | |||

=cut | =cut | |||

#line 1458 "Slatec.pm" | #line 1500 "Slatec.pm" | |||

#line 1060 "../../blib/lib/PDL/PP.pm" | ||||

#line 1061 "../../blib/lib/PDL/PP.pm" | ||||

*chid = \&PDL::chid; | *chid = \&PDL::chid; | |||

#line 1464 "Slatec.pm" | #line 1507 "Slatec.pm" | |||

#line 1059 "../../blib/lib/PDL/PP.pm" | #line 1058 "../../blib/lib/PDL/PP.pm" | |||

=head2 chcm | =head2 chcm | |||

=for sig | =for sig | |||

Signature: (x(n);f(n);d(n);longlong check();longlong [o]ismon(n);longlong [o]i err()) | Signature: (x(n);f(n);d(n);longlong check();longlong [o]ismon(n);longlong [o]i err()) | |||

=for ref | =for ref | |||

Check the given piecewise cubic Hermite function for monotonicity. | Check the given piecewise cubic Hermite function for monotonicity. | |||

skipping to change at line 1381 | skipping to change at line 1403 | |||

-3 if C<$x> is not strictly increasing. | -3 if C<$x> is not strictly increasing. | |||

=back | =back | |||

=for bad | =for bad | |||

chcm does not process bad values. | chcm does not process bad values. | |||

=cut | =cut | |||

#line 1553 "Slatec.pm" | #line 1597 "Slatec.pm" | |||

#line 1060 "../../blib/lib/PDL/PP.pm" | ||||

#line 1061 "../../blib/lib/PDL/PP.pm" | ||||

*chcm = \&PDL::chcm; | *chcm = \&PDL::chcm; | |||

#line 1559 "Slatec.pm" | #line 1604 "Slatec.pm" | |||

#line 1059 "../../blib/lib/PDL/PP.pm" | #line 1058 "../../blib/lib/PDL/PP.pm" | |||

=head2 chbs | =head2 chbs | |||

=for sig | =for sig | |||

Signature: (x(n);f(n);d(n);longlong knotyp();longlong nknots();t(tsize);[o]bco ef(bsize);longlong [o]ndim();longlong [o]kord();longlong [o]ierr()) | Signature: (x(n);f(n);d(n);longlong knotyp();longlong nknots();t(tsize);[o]bco ef(bsize);longlong [o]ndim();longlong [o]kord();longlong [o]ierr()) | |||

=for ref | =for ref | |||

Piecewise Cubic Hermite function to B-Spline converter. | Piecewise Cubic Hermite function to B-Spline converter. | |||

skipping to change at line 1474 | skipping to change at line 1497 | |||

-5 if C<knotyp E<lt> 0> and C<nknots != 2*n + 4>. | -5 if C<knotyp E<lt> 0> and C<nknots != 2*n + 4>. | |||

=back | =back | |||

=for bad | =for bad | |||

chbs does not process bad values. | chbs does not process bad values. | |||

=cut | =cut | |||

#line 1655 "Slatec.pm" | #line 1701 "Slatec.pm" | |||

#line 1060 "../../blib/lib/PDL/PP.pm" | ||||

#line 1061 "../../blib/lib/PDL/PP.pm" | ||||

*chbs = \&PDL::chbs; | *chbs = \&PDL::chbs; | |||

#line 1661 "Slatec.pm" | #line 1708 "Slatec.pm" | |||

#line 1059 "../../blib/lib/PDL/PP.pm" | #line 1058 "../../blib/lib/PDL/PP.pm" | |||

=head2 polfit | =head2 polfit | |||

=for sig | =for sig | |||

Signature: (x(n); y(n); w(n); longlong maxdeg(); longlong [o]ndeg(); [o]eps(); [o]r(n); longlong [o]ierr(); [o]a(foo); [o]coeffs(bar);[t]xtmp(n);[t]ytmp(n);[t ]wtmp(n);[t]rtmp(n)) | Signature: (x(n); y(n); w(n); longlong maxdeg(); longlong [o]ndeg(); [o]eps(); [o]r(n); longlong [o]ierr(); [o]a(foo); [o]coeffs(bar);[t]xtmp(n);[t]ytmp(n);[t ]wtmp(n);[t]rtmp(n)) | |||

Fit discrete data in a least squares sense by polynomials | Fit discrete data in a least squares sense by polynomials | |||

in one variable. C<x()>, C<y()> and C<w()> must be of the same type. | in one variable. C<x()>, C<y()> and C<w()> must be of the same type. | |||

This version handles bad values appropriately | This version handles bad values appropriately | |||

=for bad | =for bad | |||

polfit processes bad values. | polfit processes bad values. | |||

=cut | =cut | |||

#line 1685 "Slatec.pm" | #line 1733 "Slatec.pm" | |||

#line 1060 "../../blib/lib/PDL/PP.pm" | ||||

#line 1061 "../../blib/lib/PDL/PP.pm" | ||||

*polfit = \&PDL::polfit; | *polfit = \&PDL::polfit; | |||

#line 1691 "Slatec.pm" | #line 1740 "Slatec.pm" | |||

#line 1605 "slatec.pd" | #line 1604 "slatec.pd" | |||

=head1 AUTHOR | =head1 AUTHOR | |||

Copyright (C) 1997 Tuomas J. Lukka. | Copyright (C) 1997 Tuomas J. Lukka. | |||

Copyright (C) 2000 Tim Jenness, Doug Burke. | Copyright (C) 2000 Tim Jenness, Doug Burke. | |||

All rights reserved. There is no warranty. You are allowed | All rights reserved. There is no warranty. You are allowed | |||

to redistribute this software / documentation under certain | to redistribute this software / documentation under certain | |||

conditions. For details, see the file COPYING in the PDL | conditions. For details, see the file COPYING in the PDL | |||

distribution. If this file is separated from the PDL distribution, | distribution. If this file is separated from the PDL distribution, | |||

the copyright notice should be included in the file. | the copyright notice should be included in the file. | |||

=cut | =cut | |||

#line 1708 "Slatec.pm" | #line 1758 "Slatec.pm" | |||

# Exit with OK status | # Exit with OK status | |||

1; | 1; | |||

End of changes. 103 change blocks. | ||||

103 lines changed or deleted | | 128 lines changed or added |