linalg function interfaces