Matrix comprehensions (`build_matrix` function)

Abierto
#3,282 6 comentarios 3 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
42/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
cpp
Área
backend

Línea de trabajo

El issue define una firma variádica de build_matrix y la relación de matrices requerida M[i,j] = f(i,j,args). Como no se mencionan archivos ni pruebas, comienza localizando los puntos de entrada existentes para la construcción de matrices y la diferenciación automática. Se considera terminado cuando se haya acordado el nombre de la función y se admitan autodiff local y resultados de matrices SoA; build_[row]_vector es una extensión posterior.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

feature new function

This would be a variadic function with signature:
matrix build_matrix(int I, int J, Fn f, T1 arg1,...TN argN) (name up for debate)

where Fn is a function (int, int, T1, ..., TN) => real

It returns a matrix M such that M[i,j] = f(i,j, arg1, ... argN)

The real advantage to this function is that it can do local autodiff, which will improve memory usage/locality and allow us to have the returned matrix be a SoA matrix (cf https://github.com/stan-dev/math/issues/2344#issuecomment-770418908).

Once implemented, build_[row]_vector is the obvious extension.

Lenguaje dominante
C++
Estrellas
845
Forks
225
Merge medio
3 d 9 h
PR fusionados (30 d)
12

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de stan-dev/math

Todos los issues de stan-dev/math

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.