Allowing arbitrary covariance matrix on BSR Ascii and Import API's
Kernel of BSR can handle with arbitrary covariance matrices but Ascii nor Import API's does it.
Internally, they are needed three matrices:
- : Simmetric positive define covariance matrix
- : Choleski decomposition of covariance,
- : Choleski decomposition of inverse of covariance
In real problems it's posible that we have precalculated some of these matrices. So, in order to be efficient, specially for large cases, it could be a good feature to admit at least one of these representations:
Cov
: When we have only the covariance. For example in prior nodes.
CovInv
: When we have the inverse of the covariance. For example, when it results from a previous linear regression.
CovChol
: When we have precalculate the Choleski decomposition
CovInvChol
: When we have precalculate the Choleski decomposition of inverse of covariance matrix.
In ASCII .bsr files these are all alternative ways to define covariance matrices and the corresponding method of NameBlock argument of Import API
- Fixed diagonal.
ASCII: (<sigma2_name> | <sigma2_constant>)
Import: No method
- ARIMA covariance.
ASCII:
(<sigma2_name> | <sigma2_constant>) * Cov =
ArimaCovariance([[ARIMAStruct(...), ..., ARIMAStruct(...) ]])
Import:
Text Get.ARIMA.Size (Real unused);
Set Get.ARIMA.Factor(Real f);
- Explicit covariance.
ASCII:
(<sigma2_name> | <sigma2_constant>) * Cov =
{$ <TOL simmetric positive definite VMatrix expression> $}
Import:
Text Get.Cov(Real unused);
- Inverse of covariance.
ASCII:
(<sigma2_name> | <sigma2_constant>) * CovInv =
{$ <TOL simmetric positive definite VMatrix expression> $}
Import:
Text Get.CovInv(Real unused);
- Choleski decomposition of covariance
ASCII:
(<sigma2_name> | <sigma2_constant>) * CovChol =
{$ <TOL regular triangular VMatrix expression> $}
Import:
Text Get.CovChol(Real unused)
- Choleski decomposition of inverse of covariance.
ASCII:
(<sigma2_name> | <sigma2_constant>) * CovInvChol =
{$ <TOL regular triangular VMatrix expression> $}
Import:
Text Get.CovInvChol(Real unused);
(In [1529]) Fixed #757