<div dir="ltr"><div>Hi PETSc devs,</div><div><br></div><div>I'm writing some code that uses Tao to do variational data assimilation, and I get the following error message upon calling TaoSolve():</div><div><br></div><div>[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------<br>[0]PETSC ERROR: No support for this operation for this object type<br>[0]PETSC ERROR: Cannot locate function MatDenseGetColumn_C in object<br>[0]PETSC ERROR: See <a href="https://www.mcs.anl.gov/petsc/documentation/faq.html">https://www.mcs.anl.gov/petsc/documentation/faq.html</a> for trouble shooting.<br>[0]PETSC ERROR: Petsc Development GIT revision: v3.12.4-783-g88ddbcab12  GIT Date: 2020-02-21 16:53:25 -0600<br>[0]PETSC ERROR: ./test_var on a arch-linux2-c-debug named DiffeoInvariant by diffeoinvariant Mon Apr 27 14:57:39 2020<br>[0]PETSC ERROR: Configure options CFLAGS="-O3 -march=native -mtune=native -fPIE" --with-shared-libraries=1 --with-openmp=1 --with-threads=1 --with-fortran=0 --with-avx2=1 CXXOPTFLAGS="-O3 -march=native -mtune=native -fPIE" --with-cc=clang --with-cxx=clang++ --download-mpich<br>[0]PETSC ERROR: #1 MatDenseGetColumn() line 2944 in /usr/local/petsc/src/mat/impls/dense/seq/dense.c<br>[0]PETSC ERROR: #2 TSAdjointStep_RK() line 921 in /usr/local/petsc/src/ts/impls/explicit/rk/rk.c<br>[0]PETSC ERROR: #3 TSAdjointStep() line 1506 in /usr/local/petsc/src/ts/interface/sensitivity/tssen.c<br>[0]PETSC ERROR: #4 TSAdjointSolve() line 1568 in /usr/local/petsc/src/ts/interface/sensitivity/tssen.c<br>[0]PETSC ERROR: #5 VARFormGradient() line 212 in src/var.c<br>[0]PETSC ERROR: #6 TaoComputeObjectiveAndGradient() line 275 in /usr/local/petsc/src/tao/interface/taosolver_fg.c<br>[0]PETSC ERROR: #7 TaoSolve_LMVM() line 23 in /usr/local/petsc/src/tao/unconstrained/impls/lmvm/lmvm.c<br>[0]PETSC ERROR: #8 TaoSolve() line 219 in /usr/local/petsc/src/tao/interface/taosolver.c<br>[0]PETSC ERROR: #9 VarInfoOptimize() line 486 in src/var.c</div><div><br></div><div>I set the TSAdjoint in question to use RK4 for timestepping, and I know that TSAdjoint and company don't necessarily implement all of the timestepping methods that the "forward" TS does, so that might be relevant. Any ideas what I might be doing incorrectly? Maybe I'm forgetting to set the type of some Mat (e.g. the Jacobian) somewhere? (Would/could that cause this error?) <br></div><div><br></div><div>Thanks!</div><div><br></div><div>-Zane Jakobs<br></div></div>