[core.matrix] do not depend on BasicInterface