Question about example simpleStatisticalInverseProblem in QUESO 0.56.1

16 views
Skip to first unread message

larryh...@gmail.com

unread,
Jan 29, 2017, 10:03:41 PM1/29/17
to QUESO-users mailing list
Hi,

I was using QUESO 0.56.1, I have some questions about example simpleStatisticalInverseProblem. 
In example_compute.C, there is a matrix

QUESO::GslMatrix proposalCovMatrix(paramSpace.zeroVector());
  proposalCovMatrix(0,0) = 8.; proposalCovMatrix(0,1) = 4.;
  proposalCovMatrix(1,0) = 4.; proposalCovMatrix(1,1) = 16.;

What does this matrix mean? I can't find related information on user's manual.
Also, I can't quite understand how are the parameters passed into likelihood function. Here is the likelihood function:

double likelihoodRoutine(
  const QUESO::GslVector& paramValues,
  const QUESO::GslVector* paramDirection,
  const void*             functionDataPtr,
  QUESO::GslVector*       gradVector,
  QUESO::GslMatrix*       hessianMatrix,
  QUESO::GslVector*       hessianEffect)

I can't find where are the parameters defined. Is there any systematical instruction about this? I can't find them in the user's manual and http://libqueso.com/queso/html/index.html.

Thank you very much!

Best regards.
Han

Paul T. Bauman

unread,
Jan 30, 2017, 9:57:41 AM1/30/17
to larryh...@gmail.com, QUESO-users mailing list
On Sun, Jan 29, 2017 at 10:03 PM, <larryh...@gmail.com> wrote:
Hi,

I was using QUESO 0.56.1, I have some questions about example simpleStatisticalInverseProblem. 
In example_compute.C, there is a matrix

QUESO::GslMatrix proposalCovMatrix(paramSpace.zeroVector());
  proposalCovMatrix(0,0) = 8.; proposalCovMatrix(0,1) = 4.;
  proposalCovMatrix(1,0) = 4.; proposalCovMatrix(1,1) = 16.;

What does this matrix mean?

This serves as an initial guess for the covariance matrix that is updated during the DRAM (Delayed Rejection Adaptive Monte-Carlo) algorithm.
 
I can't find related information on user's manual.
Also, I can't quite understand how are the parameters passed into likelihood function. Here is the likelihood function:

double likelihoodRoutine(
  const QUESO::GslVector& paramValues,
  const QUESO::GslVector* paramDirection,
  const void*             functionDataPtr,
  QUESO::GslVector*       gradVector,
  QUESO::GslMatrix*       hessianMatrix,
  QUESO::GslVector*       hessianEffect)

I can't find where are the parameters defined.

paramValues is the vector QUESO is passing to you to evaluate your model. The other parameters are optional and not important for that example. Indeed, this interface is deprecated and we're moving to a new one (if you watch the GitHub repository at all). 

Just for reference, the other parameters are there for other algorithms that may use gradient or Hessian information. So, for example, if you were using an algorithm that could leverage gradient information, you'd provide that back in the gradVector argument. Similarly, for hessianMatrix, if you were using an algorithm that leveraged the Hessian. Finally, it also supports computing the action of the Hessian on a vector --- QUESO would pass paramDirection and you'd output hessianEffect, the action of the Hessian on the paramDirection vector. Again, this interface is deprecated in favor of more specific overrides.
 
Is there any systematical instruction about this? I can't find them in the user's manual and http://libqueso.com/queso/html/index.html.

@dmcdougall, can you comment on the documentation?

Please let us know if this doesn't answer your questions. 

Damon McDougall

unread,
Feb 7, 2017, 9:07:37 AM2/7/17
to Paul T. Bauman, larryh...@gmail.com, QUESO-users mailing list
The documentation is atrocious. I'm really sorry about that. As an
up-side, the documentation improves a lot with the new API changes for
lnValue. See here for details:
https://github.com/libqueso/queso/blob/dev/src/basic/inc/ScalarFunction.h

Let me know if that's still not sufficient. We really ought to add
something in the manual about it, too, though.

>
> Please let us know if this doesn't answer your questions.
>
> --
> You received this message because you are subscribed to the Google Groups
> "QUESO-users mailing list" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to queso-users...@googlegroups.com.
> Visit this group at https://groups.google.com/group/queso-users.
> For more options, visit https://groups.google.com/d/optout.


--
Damon McDougall
http://dmcdougall.co.uk
Institute for Computational Engineering Sciences
201 E. 24th St., Stop C0200
The University of Texas at Austin
Austin, TX 78712-1229
Reply all
Reply to author
Forward
0 new messages