With the growing popularity of open social networks, approaches incorporating social relationships into recommender systems are gaining momentum, especially matrix factorization-based ones. The experiments in previous literatures indicate that social information is very effective in improving the performance of traditional recommendation algorithms. However, most of existing social recommendation methods only take one kind of social relations--trust information into consideration, which is far from satisfactory. Furthermore, most of the existing trust networks are binary, which results in the equal treatment to different users who are trusted by the same user in these methods. In this paper, based on matrix factorization methods, we propose a new approach to make recommendation with social information. Its novelty can be summarized as follows: (1) it shows how to add different weights on the social trust relationships among users based on the trustee's competence and trustworthiness; (2) it incorporates the similarity relationships among users as a complement into the social trust relationships to enhance the computation of user's neighborhood; (3) it can balance the influence of these two kinds of relationships based on user's individuality adaptively. Experiments on Epinions and Ciao datasets demonstrate that our approach outperforms the state-of-the-art algorithms in terms of mean absolute error and root mean square error, in particular for the users who rated a few items.