CosmicFish  Reference documentation for version 1.0
Looking into future Cosmology
Functions/Subroutines
fisher_manipulation Module Reference

This module contains the subroutine and functions to carry out Fisher matrix manipulations. More...

Functions/Subroutines

subroutine, public fisher_delete_column_rows (Fisher_in, Fisher_out, indexes)
 Thie subroutine eliminates the rows and columns in indexes from Fisher_in and returns a reduced Fisher matrix in Fisher_out. More...
 
real(dl) function, public confidence_coefficient (confidence_level)
 This function computes the coefficient correspondent to a given confidence level. Uses MKL to compute the inverse error function. More...
 
subroutine, public confidence_interval_params (Fisher_in, confidence_level, error_out)
 This function computes the error bounds on the parameters starting from a Fisher matrix. More...
 
subroutine, public marginalise_fisher (Fisher_in, indexes, Fisher_out)
 This function marginalises the Fisher_in Fisher matrix over the parameters in index and returns the marginalized Fisher matrix. The calculation is carried out in the numerically stable way. More...
 
subroutine, public fisher_pca (Fisher_in, eigenvalues, eigenvectors)
 This subroutine performs the principal component analysis on the Fisher matrix Fisher_in returning the ordered eigenvalues and eigenvectors of the matrix. More...
 
subroutine, public fisher_fom (Fisher_in, FOM)
 This subroutine computes the Figure of Merit from the Fisher matrix Fisher_in. More...
 
subroutine, public fisher_protection_unconstrained (Fisher_in)
 This subroutine applies a safeguard against unconstrained parameters. If a parameter is unconstrained the corresponding column and row of the Fisher matrix will be exactly zero. This will make the Fisher matrix not invertible. This subroutine adds a very small quantity to the diagonal element of the unconstrained parameter ensuring that the matrix is invertible and that the unconstrained parameter does not impact the constarints on the others. More...
 
subroutine, public fisher_protection_degenerate (Fisher_in)
 This subroutine applies a safeguard against totally degenerate parameters. If a parameter is totally degenerate with another the Fisher matrix will be not invertible. This subroutine adds a very small quantity on the diagonal of the Fisher matrix ensuring that the resulting matrix will be invertible at a cost of a negligible change in the parameters bounds. More...
 

Detailed Description

This module contains the subroutine and functions to carry out Fisher matrix manipulations.

Author
Marco Raveri

Function/Subroutine Documentation

real(dl) function, public fisher_manipulation::confidence_coefficient ( real(dl), intent(in)  confidence_level)

This function computes the coefficient correspondent to a given confidence level. Uses MKL to compute the inverse error function.

Parameters
[in]confidence_levelRequired confidence level
Returns
Output coefficient corresponding to the confidence level

Definition at line 63 of file 003_Fisher_manipulation.f90.

subroutine, public fisher_manipulation::confidence_interval_params ( real(dl), dimension(:,:), intent(in)  Fisher_in,
real(dl), intent(in)  confidence_level,
real(dl), dimension(:), intent(out)  error_out 
)

This function computes the error bounds on the parameters starting from a Fisher matrix.

Parameters
[in]fisher_inInput Fisher matrix
[in]confidence_levelRequired confidence level
[out]error_outVector with the confidence bounds on parameters

Definition at line 76 of file 003_Fisher_manipulation.f90.

subroutine, public fisher_manipulation::fisher_delete_column_rows ( real(dl), dimension(:,:), intent(in)  Fisher_in,
real(dl), dimension(:,:), intent(out)  Fisher_out,
integer, dimension(:), intent(in)  indexes 
)

Thie subroutine eliminates the rows and columns in indexes from Fisher_in and returns a reduced Fisher matrix in Fisher_out.

Parameters
[in]fisher_inInput Fisher matrix
[out]fisher_outOutput Fisher matrix
[in]indexesindexes of the columns and rows to delete

Definition at line 46 of file 003_Fisher_manipulation.f90.

subroutine, public fisher_manipulation::fisher_fom ( real(dl), dimension(:,:), intent(in)  Fisher_in,
real(dl), intent(out)  FOM 
)

This subroutine computes the Figure of Merit from the Fisher matrix Fisher_in.

Parameters
[in]fisher_inInput Fisher matrix
[out]fomOutput Figure of Merit

Definition at line 128 of file 003_Fisher_manipulation.f90.

subroutine, public fisher_manipulation::fisher_pca ( real(dl), dimension(:,:), intent(in)  Fisher_in,
real(dl), dimension(:), intent(out)  eigenvalues,
real(dl), dimension(:,:), intent(out)  eigenvectors 
)

This subroutine performs the principal component analysis on the Fisher matrix Fisher_in returning the ordered eigenvalues and eigenvectors of the matrix.

Parameters
[in]fisher_inInput Fisher matrix
[out]eigenvaluesOutput eigenvalues
[out]eigenvectorsOutput eigenvectors

Definition at line 111 of file 003_Fisher_manipulation.f90.

subroutine, public fisher_manipulation::fisher_protection_degenerate ( real(dl), dimension(:,:), intent(inout)  Fisher_in)

This subroutine applies a safeguard against totally degenerate parameters. If a parameter is totally degenerate with another the Fisher matrix will be not invertible. This subroutine adds a very small quantity on the diagonal of the Fisher matrix ensuring that the resulting matrix will be invertible at a cost of a negligible change in the parameters bounds.

Parameters
[in,out]fisher_inInput and output Fisher matrix

Definition at line 183 of file 003_Fisher_manipulation.f90.

subroutine, public fisher_manipulation::fisher_protection_unconstrained ( real(dl), dimension(:,:), intent(inout)  Fisher_in)

This subroutine applies a safeguard against unconstrained parameters. If a parameter is unconstrained the corresponding column and row of the Fisher matrix will be exactly zero. This will make the Fisher matrix not invertible. This subroutine adds a very small quantity to the diagonal element of the unconstrained parameter ensuring that the matrix is invertible and that the unconstrained parameter does not impact the constarints on the others.

Parameters
[in,out]fisher_inInput and output Fisher matrix

Definition at line 148 of file 003_Fisher_manipulation.f90.

subroutine, public fisher_manipulation::marginalise_fisher ( real(dl), dimension(:,:), intent(in)  Fisher_in,
integer, dimension(:), intent(in)  indexes,
real(dl), dimension(:,:), intent(out)  Fisher_out 
)

This function marginalises the Fisher_in Fisher matrix over the parameters in index and returns the marginalized Fisher matrix. The calculation is carried out in the numerically stable way.

Parameters
[in]fisher_inInput Fisher matrix
[out]fisher_outOuput Fisher matrix
[in]indexesIndexes to marginalise

Definition at line 94 of file 003_Fisher_manipulation.f90.