Bug: `arena_matrix` traits aren't specialized properly for sparse matrices
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
Direção de pesquisa
Comece em stan/math/rev/core/arena_matrix.hpp, próximo à definição dos traits de arena_matrix na linha 483, e depois compare as definições de traits em lib/eigen_3.4.0/Eigen/src/SparseCore/SparseMap.h e Core/Map.h. Reproduza o erro de compilação relatado de arena_matrix<Eigen::SparseMatrix> e determine quais sparse traits estão ausentes ou são incompatíveis. O trabalho estará concluído quando o tipo sparse arena_matrix compilar sem os erros de traits relatados.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Description
This is one of those things where I can't tell if it's a bug or a user error, but I'm trying to use an arena_matrix<Eigen::SparseMatrix<double>> type and I'm getting an error related to the setting of the internal Eigen traits. In particular, I'm getting
/home/dan-simpson/Documents/math/stan/math/rev/core/arena_matrix.hpp:490:38: error: ‘PlainObjectTypeInnerSize’ is not a member of ‘Eigen::internal::traits<stan::math::arena_matrix<Eigen::SparseMatrix<double> > >::base’ {aka ‘Eigen::internal::traits<Eigen::Map<Eigen::SparseMatrix<double>, 0, Eigen::Stride<0, 0> > >’}
490 | PlainObjectTypeInnerSize = base::PlainObjectTypeInnerSize,
| ^~~~~~~~~~~~~~~~~~~~~~~~
/home/dan-simpson/Documents/math/stan/math/rev/core/arena_matrix.hpp:491:38: error: ‘InnerStrideAtCompileTime’ is not a member of ‘Eigen::internal::traits<stan::math::arena_matrix<Eigen::SparseMatrix<double> > >::base’ {aka ‘Eigen::internal::traits<Eigen::Map<Eigen::SparseMatrix<double>, 0, Eigen::Stride<0, 0> > >’}
491 | InnerStrideAtCompileTime = base::InnerStrideAtCompileTime,
| ^~~~~~~~~~~~~~~~~~~~~~~~
/home/dan-simpson/Documents/math/stan/math/rev/core/arena_matrix.hpp:492:38: error: ‘OuterStrideAtCompileTime’ is not a member of ‘Eigen::internal::traits<stan::math::arena_matrix<Eigen::SparseMatrix<double> > >::base’ {aka ‘Eigen::internal::traits<Eigen::Map<Eigen::SparseMatrix<double>, 0, Eigen::Stride<0, 0> > >’}
492 | OuterStrideAtCompileTime = base::OuterStrideAtCompileTime,
| ^~~~~~~~~~~~~~~~~~~~~~~~
/home/dan-simpson/Documents/math/stan/math/rev/core/arena_matrix.hpp:493:23: error: ‘Alignment’ is not a member of ‘Eigen::internal::traits<stan::math::arena_matrix<Eigen::SparseMatrix<double> > >::base’ {aka ‘Eigen::internal::traits<Eigen::Map<Eigen::SparseMatrix<double>, 0, Eigen::Stride<0, 0> > >’}
493 | Alignment = base::Alignment,
I strongly suspect this is because the traits defined in SpraseCore/SparseMap.h don't line up with those in Core/Map.h, so the template defining them for arena_matrix needs to be specialized.
- Linguagem predominante
- C++
- Estrelas
- 845
- Forks
- 225
- Merge médio
- 4d 21h
- PRs com merge (30d)
- 13
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de stan-dev/math
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 54/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 54/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
Mantenedores costumam responder em até 1 dia
-
numerics performance
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
stan-dev/math#3481 · 1 reação ·
Mantenedores costumam responder em até 1 dia
-
`eigendecompose_sym`, `eigenvalues_sym` and `eigenvectors_sym` do not compile for complex matrices of `fvar<var>` or `fvar<fvar<double>>`Talvez livre de novo Um pull request para esta issue foi fechado sem ser mesclado. Abertabug
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
stan-dev/math#3477 · 5 comentários ·
Mantenedores costumam responder em até 1 dia
Todas as issues de stan-dev/math
Issues semelhantes
-
area/ysql kind/bug priority/medium status/awaiting-triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
yugabyte/yugabyte-db#37523 ·
Mantenedores costumam responder em até 1 dia
-
mlir
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
llvm/llvm-project#241070 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
backlog documentation
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 96/100
EchoTools/nevr-runtime#2354 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Mantenedores costumam responder em até 1 dia
-
Page request: clang-replAbertahelp wanted new command
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
tldr-pages/tldr#25111 ·
Mantenedores costumam responder em até 1 dia