2012-07-05 10 views
3

Maxima에는 diag_matrix (a1, a2, ..., an)와 같이 대각 요소가있는 대수 행렬을 만드는 데 사용되는 변수 인수가 있습니다. a1, ...,Maxima에서 변수 인수로 목록을 전달하는 방법은 무엇입니까?

그러나, 현재 나는 [a1, a2, .. an]의리스트를 가지고 있고 그것으로부터 대각선 행렬을 만들고 싶습니다. diag_matrix는 목록을 직접 수락 할 수 없습니다. diag_matrix를 사용하여 행렬을 만드는 방법이 있습니까?

답변

3

일반적으로 apply (foo, [a1, ..., an]) 표현식은 함수 foo를 인수 목록 [a1, ..., an]에 적용합니다.

특히, (diag_matrix, [a1, ..., an])은 [a1, ..., an]에 diag_matrix를 적용합니다. 그게 니가 원하는 것 같아.

apply는 foo가 인수를 인용하거나 foo가 자체가 아닌 다른 것으로 평가되는 경우에도 모든 인수를 평가합니다. 그러므로 맥시마에는 "인용 패배 적용"관용구가 있는데, 종종 유용합니다.

+0

정확히 내가 무엇을 찾고 계신 지, 대단히 감사합니다. – user1503057

관련 문제