I can do this right now, but I'd love to make the argument a list. (I have a compiled implementation of Linear Solve from here https://mathematica.stackexchange.com/a/91881/73342).
symbolicLHS = {{Derivative[1, 0][a][x], b}, {c, d}};
symbolicRHS = {Derivative[1, 0][a][y], e};
LHSwitharguments =
symbolicLHS /. {Derivative[1, 0][a][___] -> arg1, b -> arg2,
c -> arg3, d -> arg4, e -> arg5};
RHSwitharguments =
symbolicRHS /. {Derivative[1, 0][a][___] -> arg1, b -> arg2,
c -> arg3, d -> arg4, e -> arg5};
compiledFunc1 =
Compile[{{arg1, _Real}, {arg2, _Real}, {arg3, _Real}, {arg4, \
_Real}, {arg5, _Real}},
LinearSolve[LHSwitharguments, RHSwitharguments],
CompilationOptions -> {"InlineExternalDefinitions" -> True}];
This works, but not without a bunch of warnings "Part::partd: Part specification arg1[[1]] is longer than depth of object." What's the best way to go about this?
symbolicLHS = {{Derivative[1, 0][a][x], b}, {c, d}};
symbolicRHS = {Derivative[1, 0][a][y], e};
LHSwitharguments =
symbolicLHS /. {Derivative[1, 0][a][___] -> arg1[[1]],
b -> arg1[[2]], c -> arg1[[3]], d -> arg1[[4]], e -> arg1[[5]]};
RHSwitharguments =
symbolicRHS /. {Derivative[1, 0][a][___] -> arg1[[1]],
b -> arg1[[2]], c -> arg1[[3]], d -> arg1[[4]], e -> arg1[[5]]};
compiledFunc2 =
Compile[{{arg1, _Real, 1}},
LinearSolve[LHSwitharguments, RHSwitharguments],
CompilationOptions -> {"InlineExternalDefinitions" -> True}];
compiledFunc2[{1, 2, 3, 4, 5}]
Thanks!